Mysql Query执行顺序

时间:2012-01-22 18:05:47

标签: mysql

我对MySQL查询执行顺序有疑问。

select * 
from  exa_ledger 
where examyear = '2011-11-1' 
  and academicbatch = '2010-6-1' 
  and courseid = '01'

在上面的查询中,首先执行哪个条件?条件我的意思是:检查是从examyearacademicbatch还是courseid开始的?

exa_ledger表有120500行,条件匹配为:

examyear - 60000 rows
academicbatch - 35000 rows
courseid - 10000 rows

我应该如何编写查询以更快地获得结果?

1 个答案:

答案 0 :(得分:0)

根据应用程序的其他要求,您应该创建一个复合索引,其中包含您提到的部分或全部字段(但至少是courseid,因为它具有最少的行数)。