python - ArrayField 最大尺寸?
问题描述
我将使用 Django 的 ArrayField 来存储一个包含 500-50,000 个项目的庞大列表。它们的 ID 很短283974892598353920
,但我担心会达到某个上限。Django 的 Postgres ArrayField 有任何限制吗?
解决方案
如果您的 ID 仅由数字组成并保持在 2^63(9223372036854780000)以下,我建议使用bigint
as 数据类型的数组:bigint[]
. 每个元素占用 8 个字节(加上一点开销)。
您给定的示例283974892598353920大约是 2^60 并且在该范围内。
唯一相关的Postgres 限制是 1 GB 的最大字段大小,允许大约 2^60 个元素。50,000甚至还没有接近。
有关的:
不过,如果您想对数据进行任何类型的查询,请考虑使用集合(表)而不是巨大的数组。大型阵列的性能下降。
推荐阅读
- r - 通过循环为不相互跟随的数字创建数据帧
- tensorflow - 使用 ssd_mobilenet 之前的标准化图像
- javascript - Javascript window.addeventlistener 未在 chrome 中触发
- python - 别名:/usr/local/bin/pip3:未找到,但.bashrc 是正确的
- java - 无法登录,statusCode=SIGN_IN_REQUIRED
- android - 如何在 android studio 中使用 holder 打开另一个活动
- bash - 用shell脚本中的多行替换文件中的占位符
- c++ - 缩小从 char 到 double 的转换
- typescript - 有没有办法通过 VS Code 扩展 API 选择/设置主题?
- typescript - 强制属性值的类型而不在 TypeScript 中覆盖它们