在 Postgres 中使用“分数数据字段”与“常规数字字段”对性能有何影响?
例如:数字 1,2,3,4,5,6,7,8 Vs。数字:0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8
我想主要根据这个字段进行排序,有时进行过滤。
谢谢, 谢伊
在 Postgres 中使用“分数数据字段”与“常规数字字段”对性能有何影响?
例如:数字 1,2,3,4,5,6,7,8 Vs。数字:0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8
我想主要根据这个字段进行排序,有时进行过滤。
谢谢, 谢伊
int
PostgreSQL之间的性能差异float
将非常小。为了自己确认这一点,我强烈建议您编写一些自定义 pgbench 脚本来执行相同的工作负载,一次integer
使用float
. 您会发现其他成本(一方面是磁盘 I/O)大大超过了float
和之间的任何成本差异int
。
低级类型(如int
和float
)与高级类型 之间可能存在相当大的差异,高级类型numeric
是一种软件十进制类型,具有几乎无限的精度和规模。
试试看;integer
您会很快确认 PostgreSQL和之间的性能差异float
很小——至少在通用硬件上是这样。