본문 바로가기

IT-Consultant

MySQL이 GROUP BY가 느린 이유

MySQL은 기본적으로 GROUP BY를 하면 해당 필드에 대해서 SORT를 한다.
SELECT SORT1, COUNT(*) FROM TABLE1
GROUP BY SORT1
이런 쿼리를 한다면 쓸데 없이 정렬 작업 때문에 속도 저하가 발생한다.
따라서 이런 쿼리를 날린다면 끝에 ORDER BY NULL 을 붙이도록 한다.
ORDER BY NULL을 하면 정렬작업을 하지 않고 COUNT만 하기 때문에 속도가 빠르다.

방금 40만건을 GROUP BY 해보니 10배 이상의 속도 차이를 보입니다.



참고 사이트
http://www.mysqlkorea.co.kr/sub.html?mcode=manual&scode=01&m_no=21460&cat1=7&cat2=217&cat3=238&lang=k

'IT-Consultant' 카테고리의 다른 글

month 달 전 일자 구하기  (0) 2010.02.25
파워콤 케이블 모뎀 접속 정보  (0) 2010.02.19
Everest  (0) 2010.01.27
Simple XML Parsing with SAX and DOM  (0) 2010.01.07
돌고 도는 이클립스  (0) 2010.01.07