【发布时间】:2013-03-20 23:29:39
【问题描述】:
我正在努力优化 MySQL 查询。
select *
from course as t1
left join semester as t3 on t1.semester=t3.id
where t1.visibleFrom <= '1364621522'
and '1364621522' <= t1.visibleTo
order by t3.begin desc, t1.name;
EXPLAIN 报告这是为了在课程表上使用 ALL 查询。该表有几个不同的索引(visibleFrom、visibleTo、两者的组合、名称、学期)。 name 是一个 varchar 列,begin、visibleFrom 和 visibleTo 是整数,也可以为空。
如果我省略了与t3 的连接并强制使用索引名称,它会以某种方式工作。
知道为什么这个查询不使用索引吗?
【问题讨论】:
标签: mysql optimization indexing