快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记娱乐下载官方平台:Schema的优化和索引选择最佳的数据类型日期和时间类型



日期和光阴类型

MySQL对付不合种类的日期和光和记娱乐下载官方平台阴有很多的数据类型,比如YEAR和DATE。MySQL可保存光阴颗粒度是一秒。然而,光阴的谋略可以正确到毫秒。我们将会教你若何办理存储引擎的局限性。

大年夜部分光阴类型都没有什么可选择的。以是那个是最佳的选择不是一个问题。只有一个问题那便是当你即要保存日期也要保存光阴的时刻,将要做什么。MySQL供给了两个类型和记娱乐下载官方平台来满意这个需求:DATETIME和TIMESTAMP.对许多利用而言,随意率性一个都可以,然则在一些案例中,一个要好于另一个。让我们来看看:

DATETIME

这个类型可以保存大年夜范围的值。从1001到9999.精度正确到了秒。它保存日期和光阴压缩到为YYYYMMDDHHMMSS款式的整型,自力的光阴区域。这会占和记娱乐下载官方平台用8字节的存储空间。

默认的MySQL显示DATETIME为排序的,清晰地款式,比如2008-01-16 22:37:08。这是相符ANSI标准的日期和光阴。

TIMESTAMP

就像名字所提示的一样,TIMESTAMP类型存储了从1970 1.1 开始所颠末秒的数量-这个UNIX的TIMESTAMP是一样的。是以它的范围要比DATATIME要小一些:从1970年到2038年。MySQL供给了FROM_UNIXTIME和UNIX_TIMESTAMP函数,用来把Unix的timestamp转为data,反之亦然。

新版的MySQL的TIMESTAMP值像DATETIME.然则旧版MySQL显示它们没有任何的标点。仅仅是显示款式的不合。TIMESTAMP存储在MySQL的要领在所有MySQL版本中都是一样的。

TIMSTAMP的现实也依附于时区。MySQL办事器,操作系统,客户端连接所有的都无意偶尔区的设置。是以,一个TIMESTAMP存值为0,实际显示的是东部夏令光阴,1969-12-31 19:00:00。相对GMT有5个时差。

TIMESTAMP也有一个DATETIME不具备的属性。默认的环境下,当你插入一笔记录并没有指定这个值,MySQL会把TIMESTAMP列设为当前的光阴。当你更新这一行的时刻,MySQL也会更新TIMESTAMP列。除非你给TIMESTAMP指定一个值。对付随意率性的TIMESTAMP,你可以设置设置设备摆设摆设插入和更新的行径。终极,TIMESTAMP列默认不能为NUL和记娱乐下载官方平台L.这点和其他的类型有所不合。

先撇特殊行径不谈,一样平常来说,假如能用TIMESTAMP就应该用,由于它空间上比DATETIME更有效用。有的时刻人们用整型来存储UNIX的TIMESTAMP,然则这么做不能带来什么好处。这么做也不太轻易去处置惩罚,我们不建议这么做。

如何保存比秒更正和记娱乐下载官方平台确的光阴?MySQL还没有这些数据类型,但你可以应用你自己的存储类型:你可以应用BIGINT类型并且存储这个值作为在奥妙级其余TIMESTAMP,或者你可以应用DOUBLE并且存储小数点之后的秒的小数部分。

您可能还会对下面的文章感兴趣: