我试图找出哪种数据类型更适合将时间数据存储在 MySQL 或 Cassandra 数据库中,以用于 Facebook 或 Instagram 等大型应用程序?有很多类似的问题和答案,但我最终无法意识到哪个是更好的选择?
所以我决定问这样一个问题,看看有没有人知道大型应用程序使用什么数据类型来存储他们的时间数据?
- 时间戳
- 约会时间
- UNIX 时间戳
我试图找出哪种数据类型更适合将时间数据存储在 MySQL 或 Cassandra 数据库中,以用于 Facebook 或 Instagram 等大型应用程序?有很多类似的问题和答案,但我最终无法意识到哪个是更好的选择?
所以我决定问这样一个问题,看看有没有人知道大型应用程序使用什么数据类型来存储他们的时间数据?
大概
TIMESTAMP
TIMESTAMP
是一种可能的选择,因为无论用户身在何处,它都会记录一次。它本质上是磁盘上的 UTC,但会转换为/从查看它的机器的时区转换。与此相结合,服务器(不一定是客户端)也设置为 UTC。DATETIME
,如果您所在的位置遵守 DST(“夏令时... 在比较时间、运行 cron 作业等方面,这会导致各种问题。(对于 MySQL,
UNIX_TIMESTAMP
是一个函数,而不是数据类型。)在极少数情况下,您可能会保留“小数秒”。例如
TIMESTAMP(6)
,包括到微秒的时间。(但是,不要相信两个事件永远不会有相同的时间到同一微秒;那就是不依赖于它的唯一性。 )