나는 미국에 거주하는 사람과 그 주, 카운티 및 합의를 기록하는 2 억 5 천만 레코드가 들어있는 테이블을 가지고 있습니다. 나는 성, 지역, 소 지역과 장소에 결합 된 인덱스를 뒀다여러 열에 대한 인덱스 사용
: 같은 단순화 된 버전 보인다. 다음 쿼리는 정확히 같은 시간에 실행 :
나는 왼쪽에서 난 당신이 모든 열을 조회했다 인덱스를 사용하는 것을 생각으로 첫 번째 쿼리는 인덱스를 사용하지 않을 것이라고 인상했다SELECT SQL_NO_CACHE surname, place, count(*) as cnt FROM `ustest` group by place, surname;
SELECT SQL_NO_CACHE surname, region, count(*) as cnt FROM `ustest` group by region, surname;
오른쪽으로.
MySQL이 그러한 인스턴스의 여러 열에 어떻게 인덱스를 사용하는지 설명 할 수 있습니까?
나는 더 구체적인 색인이 부족할 때 더 많은 차원으로 색인을 사용한다고 생각합니다. 나도 몰라, 교육받은 추측. –