可能重复:
datetime vs timestamp?
我有一个Mysql表,其中有一列add_date
。它跟踪记录添加到数据库的日期/时间。
基于此表的查询:
在这种情况下哪个更好 - unix时间戳或日期时间?
现在我正在使用这两种方法,但由于该表随着时间的推移会有数百万条记录,因此两列都可能会影响数据库的大小。
Unix时间戳似乎更适合在PHP中转换为2 hours
前格式,并且它与时区无关。但是,datetime具有更好的可读性,并且对特定日期/时间/年的查询似乎更容易。
你的建议?
答案 0 :(得分:16)
当你有选择时,我会说我的日期是。
您无需照顾date range issue s
您可以使用mySQL的日期函数(BETWEEN(), DATE_ADD
等)轻松查询时间跨度。
与日期相关的查询会更快,尤其是当您有数百万条记录时,因为您不必使用FROM_UNIXTIME()
,这在大型查询中可能会很昂贵
在必要时将DATE字段转换为UNIX时间戳是孩子的游戏。
答案 1 :(得分:5)
我会选择mysql格式,因为mysql有很多日期时间函数,使用时间戳会花费你另一次转换。
哦,我的 你真的关心4个额外的兆字节空间吗?但由于该表将有数百万 记录随着时间的推移,两者兼得 列可能会影响的大小 数据库中。
答案 2 :(得分:5)
通过使用unix时间戳和MySQL from_unixtime()
函数,您可以在需要时将结果转换为日期时间格式,从而实现两全其美。