DATETIME VS INT用于存储时间?

Ter*_*ony 10 mysql time datetime unix-timestamp

哪一个最好用,DateTime或INT(Unix时间戳)或其他任何东西来存储时间值?

我认为INT在性能方面会更好,也更普遍,因为它可以很容易地转换为许多时区.(我来自世界各地的网络访问者可以看到没有混淆的时间)

但是,我仍然怀疑它.有什么建议?

Seb*_*sch 10

我不会使用INTTIMESTAMP保存您的日期时间值.有"2038年问题"!您可以DATETIME长时间使用并保存日期时间.

使用TIMESTAMP或数字列类型,您只能存储从1970年到2038年的年份范围.使用该DATETIME类型,您可以保存年份从1000到9999的日期.

建议使用数值列型(INT)来存储的日期时间信息.MySQL(以及其他系统)提供了许多处理日期时间信息的函数.这些函数比自定义函数或计算更快,更优化:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

要将存储值的时区转换为您可以使用的客户端时区CONVERT_TZ.在这种情况下,您需要知道服务器的时区和客户端的时区.要获得服务器的时区,您可以在此问题上看到一些可能性.