假设我被mysql 5.5
困住了,我无法更改为5.6
或5.7
,因此我无法使用DATETIME
小数秒,这是我需要的信息。我想知道什么是最好的解决方案。我一直在考虑的其中一个选择是使用BIGINT
以bash命令date +%s%N
(unix时间)或DOUBLE
的形式保存信息,如果我想分隔秒和几分之一秒(即date +%s.%N
)。
这种配置会有什么缺点?除了不使用标准格式。
答案 0 :(得分:1)
您可以使用BIGINT以毫秒(Javascript时间戳)存储Unix时间。
或者,您的其他任何解决方案(DOUBLE
中的小数秒时间或BIGINT
中的unix时间)都可以使用。
对于任何大小的表来说,重要的是能够索引列。
答案 1 :(得分:1)
BIGINT
是8个字节。这导致更多的磁盘空间;可能不是一个严重的问题。WHERE
条款,范围测试,ORDER BY
等没有问题; DATETIME
,TIMESTAMP
,BIGINT
,DOUBLE
都允许所有变体。 Java用户一直这样做(BIGINT
中的毫秒)。