我有一个Mysql表,其中有一列
add_date
。它跟踪记录添加到数据库的日期/时间。
根据此表查询:
在这种情况下哪个更好 - unix 时间戳或日期时间?
现在我正在使用两者,但由于随着时间的推移,表将拥有数百万条记录,因此拥有这两列可能会影响数据库的大小。
Unix 时间戳似乎更适合在 PHP 中转换为
2 hours
ago 格式,而且它与时区无关。但日期时间具有更好的可读性,并且查询特定日期/时间/年份似乎更容易。
你的建议?
当您有选择时,我会建议选择 mySQL 日期。
您无需处理日期范围问题s
您可以使用mySQL的日期函数轻松查询时间跨度(
BETWEEN(), DATE_ADD
等)与日期相关的查询会更快,特别是当您有数百万条记录时,因为您不必使用
FROM_UNIXTIME()
,这在大型查询中可能会很昂贵必要时将 DATE 字段转换为 UNIX 时间戳简直就是小孩子的游戏。
我会选择mysql格式,因为mysql有大量的日期时间函数,将其与时间戳一起使用将花费你另一次转换。
但是由于桌子上有数百万 随着时间的推移记录,同时具有 列可能会影响大小 数据库。
天啊。
您真的关心 4 MB 的额外空间吗?
您可以通过使用 unix 时间戳和 MySQL
from_unixtime()
函数在需要时将结果转换为日期时间格式来获得两全其美的效果。