日期:2014-05-16  浏览次数:20807 次

我该用INT(10)还是TIMESTAMP来存储时间?
现在纠结的是 Mysql的时间存储类型 TIMESTAMP并非针对UNIX时间戳,它的存储长度要比INT(10)长4字节,这是一点
另一点,哪一个检索的效率要更快?这是我最关心的。
SQL code
WHERE `timestamp` > CURRENT_TIMESTAMP()
WHERE `unixtime_int` > UNIX_TIMESTAMP()

仅仅是用于检索某一时间段,我不会使用那些花哨的取日期相差天数的函数

------解决方案--------------------
是的。显然优先使用timestamp类型。
------解决方案--------------------
INT(10), INT(100), INT(1) 实际上都是 4个字节的整形。

MYSQL 中TIMESTAMP 也是4个字节的整形。 存储的是秒数。(不是毫秒)


两者速度上相同。
------解决方案--------------------
如果要存储高精度时间,比如精度达到毫秒级,可以选用bigint类型。
------解决方案--------------------
int类型在计算上效率高些