codetc - 网站开发技术 首页 后端 数据库 查看内容

MySQL存储时间用int、timestamp还是datetime?

2015-1-3 02:33| 发布者: CODETC| 查看: 4079| 评论: 0

MySQL中存储时间通常会用datetime类型,但现在很多系统也用int存储unix时间戳,它们有什么区别?本人总结如下:

int

(1)4个字节存储,INT的长度是4个字节,存储空间上比datatime少,int索引存储空间也相对较小,排序和查询效率相对较高一点点
(2)可读性极差,无法直观的看到数据

TIMESTAMP

(1)4个字节储存
(2)值以UTC格式保存
(3)时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区。
(4)TIMESTAMP值不能早于1970或晚于2037

datetime

(1)8个字节储存
(2)与时区无关
(3)以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值。支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'


随着Mysql性能越来越来高,个人觉得关于时间的存储方式,具体怎么存储看个人习惯和项目需求吧

分享两篇关于int vs timestamp vs datetime性能测试的文章
文章来源 CODETC,欢迎分享,转载请注明地址: http://www.codetc.com/article-111-1.html

最新评论

 作为游客发表评论,请输入您的昵称

返回顶部