我正在选择列中有特定日期的记录datetime
,但感觉有点草率,我想知道是否有更好的方法。我的查询如下所示:
SELECT *
FROM myTable
WHERE event_datetime
BETWEEN '2012-05-05 00:00:00' AND '2012-05-05 23:59:59'
它工作正常。我只是想知道在 mySQL 中是否有更好的方法来做到这一点。
我正在选择列中有特定日期的记录datetime
,但感觉有点草率,我想知道是否有更好的方法。我的查询如下所示:
SELECT *
FROM myTable
WHERE event_datetime
BETWEEN '2012-05-05 00:00:00' AND '2012-05-05 23:59:59'
它工作正常。我只是想知道在 mySQL 中是否有更好的方法来做到这一点。
从什么角度看更好?
有人会建议使用DATE(event_datetime) = '2012-05-05'
,但效率非常低。
因此,请继续使用您的解决方案并确保event_datetime
列被索引覆盖
你可以这样做WHERE date(event_datetime) = '2012-05-05'
,但是这种方式不能使用 index on event_datetime
,所以如果你想使用 index of event_datetime
,请使用你原来的方式。