`SELECT r.*, u.username
FROM `reservation` AS r JOIN
`users` AS u
WHERE u.id = r.user_id
AND DATE(r.bx_date) >= DATE('2012-08-22')
AND DATE(r.bx_date) <= DATE('2012-08-22')
AND r.status='1'
ORDER BY r.id desc`
表预留包含 500,000 条记录,bx_date 从 2012-01-01 到 2013-01-01 变化。users 表中有 40,000 条记录。bx_date 是“日期”类型。
使用上面的查询,如果我尝试像 2012-08-22 这样的日期,则需要 8 秒。但是,如果我尝试 2013-01-01 大约需要 1 秒。
是什么原因 ?
谢谢