我对MySQL查询执行顺序有疑问。
select *
from exa_ledger
where examyear = '2011-11-1'
and academicbatch = '2010-6-1'
and courseid = '01'
在上面的查询中,首先执行哪个条件?条件我的意思是:检查是从examyear
,academicbatch
还是courseid
开始的?
exa_ledger
表有120500行,条件匹配为:
examyear - 60000 rows
academicbatch - 35000 rows
courseid - 10000 rows
我应该如何编写查询以更快地获得结果?
答案 0 :(得分:0)
根据应用程序的其他要求,您应该创建一个复合索引,其中包含您提到的部分或全部字段(但至少是courseid,因为它具有最少的行数)。