建表的时候对时间的字段类型选择有些疑惑,于是找出高性能MySQL这本书来看看,书中已经给了我们很好的建议,因此记录下来。
保存时间通常有这几种类型可以选择:
- datetime
- timestamp
- int
- date
首先看看datetime,datetime这个类型可以保存从1001年到9999年的数据,内部是将日期和时间封装在YYYYMMDDHHMMSS的整数中,与时区无关,占用8个字节。
timestamp,timestamp只能保存1970年到2038年,占用4个字节,和int所占用的字节是一样的。
int,int占用的同样是4个字节,和timestamp一样,但是timestamp拥有一些特殊的效果,比如插入的时候如果没有指定数值,会自动填入当前的时间。
date,date同样也是内部将日期封装在YYYYMMDD整数中,因此需要占用4个字节。
存储时间没有一个通用的最佳的选择,只能是根据需求来得到最佳的存储类型。
赞赏微信赞赏
支付宝赞赏