2013-08-28 2 views
0

안녕을 변경 내가 가진이MySQL이 쿼리 계획 유형을

 SELECT (SELECT CSN FROM apps as b WHERE 
     a.key1=b.key1 AND a.key2 = b.key2 AND b.seq=MAX(b.seq) LIMIT 0,1) AS CSN, 
     a.key1 
FROM apps as a GROUP BY key1, key2 

같은 쿼리 지금은 내가 유형이 범위는 엑스트라가 '그룹에 의해 인덱스를 사용하는'것을 얻을 EXPLAIN 사용하는 경우. 이 계획은 350 000 행 테이블에서 완료하는 데 10 초가 걸립니다. 때로는 단 4 초 밖에 걸리지 않으며 실행 계획은 index와 extra : using을 사용합니다.

그래서 일단 계획이 처음이고 한 번 실행되면 어떻게 될까요? 계획을 어딘지로 바꾸시겠습니까?

+0

DDL 및/또는 sqlfiddle – Strawberry

답변

0

나는 그것을 알아 냈다. InnoDB 통계는 아마 꺼져있었습니다. 테이블을 분석하여 통계를 업데이트하면 더 낮은 수로 돌아갑니다.