MySQL数据类型DATETIME与TIMESTAMP的区别介绍
程序员文章站
2022-05-28 20:14:39
首先 DATETIM和TIMESTAMP类型所占的存储空间不同,前者8个字节,后者4个字节,这样造成的后果是两者能表示的时间范围不同。前者范围为1000-01-01 00:00:0...
首先 DATETIM和TIMESTAMP类型所占的存储空间不同,前者8个字节,后者4个字节,这样造成的后果是两者能表示的时间范围不同。前者范围为1000-01-01 00:00:00 ~ 9999-12-31 23:59:59,后者范围为1970-01-01 08:00:01到2038-01-19 11:14:07。所以可以看到TIMESTAMP支持的范围比DATATIME要小,容易出现超出的情况.
其次,TIMESTAMP类型在默认情况下,insert、update 数据时,TIMESTAMP列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。
第三,TIMESTAMP比较受时区timezone的影响以及MYSQL版本和服务器的SQL MODE的影响
所以一般来说,我比较倾向选择DATETIME,至于你说到索引的问题,选择DATETIME作为索引,如果碰到大量数据查询慢的情况,也可以分区表解决。
Mysql时间字段格式如何选择,TIMESTAMP,DATETIME,INT?
推荐阅读
-
【转】MySQL中的datetime与timestamp比较 博客分类: 技术 mysqldatetimetimestamp
-
MySQL中的datetime与timestamp比较 博客分类: Mysql datetimetimestamp
-
Mysql中的count()与sum()区别详细介绍
-
MySQL中DATETIME、DATE和TIMESTAMP类型的区别
-
MySQL数据类型DATETIME与TIMESTAMP的区别介绍
-
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别_PHP教程
-
Mysql中的count()与sum()区别详细介绍
-
关于Mysql存储引擎中InnoDB与Myisam的主要区别介绍
-
MySQL中datetime和timestamp的区别及使用详解
-
举例介绍mysql数据库与oracle数据库的区别