2012-01-22 3 views
1

MySQL 쿼리 실행 순서와 관련하여 의문의 여지가 있습니다.MySQL 쿼리 실행 순서

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

위의 쿼리에서 어떤 조건이 먼저 실행됩니까? 조건을 내 말은 : 수표는 examyear, academicbatch 또는 courseid으로 시작합니까?

exa_ledger 테이블 120500 개 행이 있고, 조건 matchings은 다음과 같습니다

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

어떻게 더 빠른 결과를 얻기위한 쿼리를 작성해야합니까?

+0

테이블 스키마를 게시하고 쿼리에 대해'EXPLAIN SELECT ... '의 출력을 게시하면 도움이 될 것입니다. – jcmeloni

+0

@Justin Vincent : @ jcmeloni 질문에 대한 모든 업데이트 ... –

+0

가능한 복제본 [WHERE 절의 조건 순서는 MySQL 성능에 영향을 줍니까?] (http://stackoverflow.com/questions/3043042/does-the- order-of-conditions-of-where-clause-affect-mysql- 성능) – outis

답변

0

응용 프로그램의 다른 요구 사항에 따라 언급 한 필드 중 일부 또는 전부를 포함하는 복합 인덱스를 만들어야합니다 (최소 행 수를 가지므로 최소한 코스 ID는 제외).