postgresql 中的 Bigint 是 8 字节整数。它的范围是 uint64 的一半(因为一位用于对整数进行签名)
我需要在列上进行大量聚合,我的印象是与整数类型相比,NUMERIC 类型的聚合速度较慢。
在这种情况下,我应该如何优化我的存储?
除非您有具体原因,否则只需使用NUMERIC. 它更慢,慢很多,但这可能没有你想象的那么重要。
您真的没有任何选择,因为 PostgreSQL 不支持 SQL 级别的无符号 64 位整数。您可以添加一个新数据类型作为扩展模块,但这需要大量工作。
您可以将无符号 64 位 int 按位推入 64 位有符号 int,因此 maxuint64/2 以上的值是负数。但这将完全破坏聚合,并且通常会非常丑陋。
| 归档时间: |
|
| 查看次数: |
11861 次 |
| 最近记录: |