2012-07-05 45 views
0

我在datetime专栏中选择了某个日期的记录,但感觉有点sl,,而且我想知道是否有更好的方法。我的查询是这样的:选择具有特定日期的所有记录:更简单的方法?

SELECT * 
FROM  myTable 
WHERE event_datetime 
BETWEEN '2012-05-05 00:00:00' AND '2012-05-05 23:59:59' 

它工作正常。我只是想知道是否有更好的方法在mySQL中做到这一点。

回答

1

从什么角度更好?我们建议使用DATE(event_datetime) = '2012-05-05',但效率非常低。

所以继续使用您的解决方案,并确保event_datetime列由指数

+0

其索引... - 我不知道DATE()函数,但它显然不是一个很好的选择使用它。谢谢 :) – Will

0

在where子句的列上使用DATE函数。

例如:

SELECT * 
FROM  myTable 
WHERE DATE(event_datetime) = '2012-05-05' 
0

覆盖你可以做WHERE date(event_datetime) = '2012-05-05',但这种方式不能event_datetime使用索引,所以如果你想使用的event_datetime索引,使用你原来的办法。

相关问题