这包括两个问题:
发布于 2009-11-01 04:34:12
找到答案的最简单的方法是编写单元测试,并实际得到一些数字。
我的理论是时间戳会更快,但根据这个博客,我错了:http://dbscience.blogspot.com/2008/08/can-timestamp-be-slower-than-datetime.html
这就是为什么在我决定在哪里进行优化之前,我倾向于通过分析得到数字,因为我的直觉有时可能是非常错误的。
因此,它可能取决于您正在使用的MySQL版本,但看起来日期时间可能更快。
发布于 2009-11-01 04:42:09
据我所知,使用时间戳超过日期时间的主要好处是能够自动将值设置为行创建上的当前时间,并能够将其设置为当前的行更新时间(或稍加努力的另一列)。这允许自动创建和修改日期。
由于时间戳列的其他限制(例如,不接受某个范围之外的日期或如果服务器时区发生更改),如果您不需要上述两个特性之一,则DATETIME会更好。
但是,如果您只对在数据库中存储Unix时间戳感兴趣,而不需要数据库对其进行转换,那么您可能可以直接将其存储为无符号整数,并取得轻微的性能。
https://stackoverflow.com/questions/1656383
复制相似问题