select
a,
(select count(*) form b where b.a between 1 and 2) cnt
from b
order by cnt desc;
위와 같은 쿼리문이 있는데 Extra를 보면 filesort를 이용합니다.
인덱스를 탈수 있는 방법이 없을까요?
서브쿼리에 힌트를 줘도 filesort를 이용하네요..
약 5만건이 있는데도 가져오는데 시간이 많이 걸립니다.
order by 를 쓰지 않으면 filesort를 이용하지 않지만 반드시 카운트한것을 역순으로 가져와야하기에..
고수님들의 조언 부탁드립니다. |