MySQL的是正是老7天TIMESTAMP

问题描述:

首先是选择行,我知道,我的问题是非常相似的一个:MySQL的是正是老7天TIMESTAMP

MySQL select rows from exactly 7 days ago

不同的是,我的日期被存储在数据库中作为时间戳。

我知道我可以使用FROM_UNIXTIME从时间戳中获取日期,事情是,在我读的另一个答案是非常耗费资源(因为timestamp字段必须在比较之前转换为所有记录中的日期)。

DATE(FROM_UNIXTIME(时间戳))= CURRENT_DATE()

有任何优化的方式做到这一点?

反过来:首先计算目标日期的unix时间戳并使用它。

WHERE timestamp = UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY) 

MySQL应该计算一次该值并一直使用它(需要通过测试)。如果不是,请使用变量或代码。