本文目录一览:
- 1、mysql数据库中的时间用哪个字段存储
- 2、mysql数据库里的日期用timestamp还是datetime好?
- 3、mysql数据库一般存储时间都是用什么类型便于在通过时间进行检索
- 4、mysql储存时间选择怎样的字段类型
- 5、mysql数据库保存当前时间的话为什么用int不用timestamp
mysql数据库中的时间用哪个字段存储
储存时间,常用的有三个选择datetime、timestamp、int。昨夜同事问到了,于是今天就总结一下自己的理解。插入效率:datetime timestamp int读取效率:int timestamp datetime储存空间:datetime timestamp = int具体上面的实验数据可以看这篇文章。
mysql数据库里的日期用timestamp还是datetime好?
Mysql中经常用来存储日期的数据类型有2种:Date、Datetime.
1.Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。
2.Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。
TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。
TIMESTAMP值返回后显示为'YYYY-MM-DDHH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP列添加+0。
注释:MySQL4.1以前使用的TIMESTAMP格式在MySQL5.1中不支持;关于旧格式的信息参见MySQL4.1参考手册。
mysql数据库一般存储时间都是用什么类型便于在通过时间进行检索
用bigint存储,检索效率高。
如果你想节约存储,还可以用int,省去毫秒。
mysql储存时间选择怎样的字段类型
储存时间,常用的有三个选择datetime、timestamp、int。昨夜同事问到了,于是今天就总结一下自己的理解。插入效率:datetime
timestamp
int读取效率:int
timestamp
datetime储存空间:datetime
timestamp
=
int具体上面的实验数据可以看这篇文章。
建立索引的体积,和索引的速度,你懂的。
让我们来看一个应用场景:
看下这张图,第一我们需要设置系统的默认时区,第二我们也需要提供不同时区时间显示的需要。于是,我们分别使用datetime、timestamp、int字段类型来看下:使用datetime直接显示时间,这是个不错的选择,但是如果考虑到时区,很明显计算上的麻烦。使用timestampOK,这个很好,可以根据系统的时区来自动输出时间,但是单个用户要定制自己的时区呢?再者你不怕麻烦,在程序里面实现了这个计算,服务器若是换个地方,改了下时区,你程序里面计算单个用户当地时间的代码怎么办(timestamp出来的时间会根据时区的变化而变化,在某些情况下是不错的选择,但在某些情况下,真的很鸡肋)。使用int从上面两个类型的缺点看来,貌似这个类型可以解决以上的问题,其实我们只要存格林时间的unix
timestamp就好了,时区时间的计算上也很方便,读取的效率也不错。我觉得用这个储存的缺点呢,就是直接select的时候时间不能直观的显示出来。看看其他开源程序是怎么做的discuz,
typecho,
emlog等等等等,他们都选用int了,这一定有他们的道理,我想也没什么可以多说的了。
mysql数据库保存当前时间的话为什么用int不用timestamp
mysql储存时间有几种方式:
date 具体格式为2017-08-27,精确到天
datetime 具体格式为 2017-08-27 00:00:00,精确到秒
timestamp具体格式为 2017-08-27 00:00:00,精确到秒
int,具体格式为时间戳。
这些都是可以用来储存时间的,具体需要看项目的需求了。