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 |