在阅读 Postgresql 数据类型,特别是“日期/时间”类型时,我注意到一些奇怪的事情(至少对我而言)。
的“时间”的数据类型分配相同的存储大小(8个字节)作为“时间戳”型。虽然“时间”只负责存储时间,而“时间戳” 则存储日期和时间作为时间的超集。
此外,这两种类型具有完全相同的精度(1 微秒/14 位数字),这让我质疑为什么它们都分配了 8 个字节,而“日期”类型分配了 4 个字节?
是内部影响性能还是什么?
一天有 86,400,000,000 微秒。这比 2 32 多,所以结果不能以 32 位存储。次佳选项是 64 位,即 8 个字节。
与date涵盖 4713BC 至 5874897AD的类型进行比较,即 5879611 年。这大约是 2147483820 天,小于 2 32,因此可以存储在 32 位整数中。(实际上它小于 2 31,这可能会使各种事情稍微简单一些。)
| 归档时间: |
|
| 查看次数: |
484 次 |
| 最近记录: |