首页 > mysql时间戳和日期格式的存储效率

mysql时间戳和日期格式的存储效率

请教下大家, 我看到公司项目中数据库中有两种方式存储时间,一种是时间戳,一种是mysql的日期格式. 那么这两种各有什么优缺点?
个人觉得时间戳更加的灵活,日期格式则是直观简明.
不知道在效率上,两者有什么区别?


个人见解,MySQL的日期格式用于存储对时间精度没有那么高要求的数据,比如,发布一个活动,活动的时间是2015-12-31开始,那就没必要精确到时间戳那种格式,直接用MySQL的日期格式就可以。
而时间戳用来做严格的管理用,比如这个活动哪天哪个时间点发布的,这个要非常精确。比如一篇文章的最后更新时间。


用unix时间戳吧,你要啥条件语句的话,直接在外面查好时间再弄


倾向@xuwenzhi的选择。
根据《高性能mysql》一书上“教条”所言,如果没有什么特殊需求,用timestamp是有好处的。

所以,推荐timestamp吧。


关于datetime和timestamp的讨论

看完上面这个采纳答案,再看下面
我本人更倾向于用timestamp,原因在于即便是它最大只能存到2037年,但我不相信我的软件能活到那个时候,另一方面:我更倾向于对于存储上的小和查询性能的优势。


时间戳也得看你存的是什么时间戳, 如果数据库中存储的时间戳不是 timestamp 或者 datetime 类型
而是直接存储毫秒或者秒的时间戳, 这样会让查询便的很复杂, 如果是 timestamp 类型条件可以直接写成
where time>'2015-01-01'
这种, 而存储的是数字的话, 这是不行的, 得先转化成 timestamp 或者 datetime 类型才可
实质上 timestmamp 也是时间戳.
直接存储毫秒时间戳实际上没有多大意义, 除非是逻辑需要.

【热门文章】
【热门文章】