阅读关于Postgresql数据类型,特别是关于"Date/Time"类型,我注意到一些奇怪的事情(至少对我来说)。
**“Time”数据类型与“Timestamp”类型分配相同的存储大小(8字节 )。虽然“Time”只负责存储时间,而“Timestamp”同时存储Date和Time,但它们是时间的超集。
此外,这两种类型具有完全相同的精度 (1微秒/ 14位),这让我质疑为什么它们都分配8个字节,而不像“Date”类型分配4个字节?
x1c 0d1x的数据
是内在的影响还是什么?
阅读关于Postgresql数据类型,特别是关于"Date/Time"类型,我注意到一些奇怪的事情(至少对我来说)。
**“Time”数据类型与“Timestamp”类型分配相同的存储大小(8字节 )。虽然“Time”只负责存储时间,而“Timestamp”同时存储Date和Time,但它们是时间的超集。
此外,这两种类型具有完全相同的精度 (1微秒/ 14位),这让我质疑为什么它们都分配8个字节,而不像“Date”类型分配4个字节?
x1c 0d1x的数据
是内在的影响还是什么?
1条答案
按热度按时间slwdgvem1#
一天有8640000000微秒,这比232微秒多,所以结果不能用32位存储,次佳选择是64位,即8字节。
相比之下,
date
类型涵盖了公元前4713年到公元5874897年,即5879611年。这大约是2147483820天,小于232,因此可以存储在32位整数中。(事实上,它小于231,这可能会使各种事情稍微简单一些。)