mysql 表结构设计时间字段选取哪种时间类型好?

mysql数据库,该表要常用于查询 并且默认要按创建时间倒序排。选哪种时间类型好。datetime timestamp int 中哪种好?

一般建议datetime,如果项目的使用会跨时区,那就用Timestamp
可参考下这个 https://www.2cto.com/database/201706/644087.html

其实都可以,datetime本质上就是double。
而timestamp本质上是int。不能早于1970或晚于2037
从api的角度看,atetime最好,从性能上看int最好,timestamp可以区分时区,但是对于国内用户其实无所谓(美国比较在意,或者说美国的图书、软件、文章都比较喜欢这个,他们有很多时区,什么东部、西部、山地、中部、夏威夷……)

储存时间,常用的有三个选择datetime、timestamp、int。
插入效率:datetime > timestamp > int
读取效率:int > timestamp > datetime
储存空间:datetime > timestamp = int
具体用哪个好就要根据你的需求来看了

一般用datetime,看具体情况了。

建议用字符串,否则在代码中要频繁的进行日期格式转换,比较麻烦。

在没有特殊要求的情况下,一般常用的方式是 datetime, 长度默认。
其次,就是看你是否有显示或存储需求,按格式来说,比如:
‘2018-10-22 14:15:22.000’,‘2018-10-22’,‘14:15:22.000’,‘14:15:22’
datetime date time time(0)

根据需求,选择特定的类型+长度即可(小括号中写入字段长度)。

效率上用 int 好一点, 排序的话一般 用 id ,id设置成增长型的就行,这样就不用再建多余的索引,如果不在排序的字段上建索引,效率会很低。
https://blog.csdn.net/HXNLYW/article/details/82979088