【发布时间】:2015-04-15 10:40:01
【问题描述】:
我找到了很多按日期搜索 mysql 记录的方法
方法一:
SELECT id FROM table WHERE datetime LIKE '2015-01-01%' LIMIT 1
方法二(同方法一+ORDER BY):
SELECT id FROM table WHERE datetime LIKE '2015-01-01%' ORDER BY datetime DESC LIMIT 1
方法三:
SELECT id FROM table WHERE datetime BETWEEN '2015-01-01' AND '2015-01-01 23:59:59' LIMIT 1
方法四:
SELECT id FROM table WHERE DATE_FORMAT( datetime, '%y.%m.%d' ) = DATE_FORMAT( '2015-01-01', '%y.%m.%d' )
方法5(我认为是最慢的):
SELECT id FROM table WHERE DATE(`datetime`) = '2015-01-01' LIMIT 1
什么是最快的?
在我的例子中,表有 100 万行,搜索的日期总是最近的。
【问题讨论】:
标签: mysql date search select optimization