gpt4 book ai didi

python - Django/Postgres 将多少字节用于小数字段?

转载 作者:行者123 更新时间:2023-11-29 13:11:18 24 4
gpt4 key购买 nike

我想存储一个小数点后两位(0 到 100)的百分比。因此,十进制字段(总共 5 位数字)似乎是一个不错的选择,但是 smallint 也可以只用两个字节完成工作。

此十进制字段配置将在数据库中使用多少字节?作为后续问题,我将如何查询 Postgres 以调查幕后使用的数据结构的详细信息?

最佳答案

The documentation说:

The actual storage requirement is two bytes for each group of four decimal digits, plus three to eight bytes overhead.

在您的情况下,这将在 5 到 10 个字节之间。

但是存储大小应该是您最后关心的问题:

  • 根据该数字前后字段的类型,您可能不会像您想象的那样节省空间,因为某些数据类型以 4 或 8 字节边界对齐,您可能会失去一些节省的空间无论如何填充。
  • 如果您对这些数据使用大量算术运算(数字运算),smallintinteger 将比 numeric 执行得更好。
  • 另一方面,您必须在算术处理过程中移动逗号。这速度很快,但可能会降低代码的可读性,从而增加维护负担。

要了解numeric的存储和处理,您必须浏览源代码。

关于python - Django/Postgres 将多少字节用于小数字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54364696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com