Mysql 의 조합 색인 방법 상세 설명

2093 단어 Mysql조합 색인
모든 DBMS 에 대해 색인 은 최적화 하 는 가장 주요 한 요소 이다.소량의 데이터 에 대해 적당 한 색인 이 없 는 것 은 큰 영향 을 미 치지 않 지만 데이터 양 이 증가 함 에 따라 성능 이 급 격 히 떨어진다. 
여러 열 을 색인(조합 색인)하면 열의 순서 가 매우 중요 합 니 다.MySQL 은 색인 맨 왼쪽 접두사 만 효과적으로 찾 을 수 있 습 니 다.예 를 들 면: 
조합 색인(c1,c2)이 존재 한다 고 가정 하면 검색 어select * from t1 where c1=1 and c2=2이 색인 을 사용 할 수 있 습 니 다.검색 어select * from t1 where c1=1이 색인 도 사용 할 수 있 습 니 다.그러나 검색 어select * from t1 where c2=2이 색인 을 사용 할 수 없습니다.조합 색인 이 없 는 안내 열,즉 c2 열 을 사용 하여 찾 으 려 면 c1 이 특정한 값 과 같 아야 합 니 다.
예 를 들 어 설명: 
표 북 두 장(도서 표)과 북 클 라 스(도서 분류 표)만 들 기

select b.ISBN FROM book b where b.CATEGORY_ID = 1; 
这里写图片描述  
실행 시간:0.053s
explain 을 사용 하여 이 SQL 을 분석 합 니 다. 
这里写图片描述  
type=ALL Extra=Using where,전체 표 조 회 는 색인 을 사용 하지 않 았 습 니 다.
explain 은 my sql 이 selection 구문 과 연결 표를 어떻게 색인 으로 처리 하 는 지 보 여 줍 니 다.더 좋 은 색인 을 선택 하고 더 최 적 화 된 검색 어 를 쓰 는 데 도움 을 줄 수 있 습 니 다.
ALL 은 이전 표 에서 온 모든 줄 조합 에 대해 완전한 표 스 캔 을 진행 합 니 다.만약 시계 가 첫 번 째 로 const 를 표시 하지 않 은 시계 라면,이것 은 통상 적 으로 좋 지 않 을 뿐만 아니 라,통상 적 으로 그것 의 상황 에서 매우 나쁘다.보통 ALL 대신 더 많은 색인 을 추가 하여 줄 이 앞의 표 의 상수 나 열 값 을 기반 으로 검색 할 수 있 도록 합 니 다.
그룹 인덱스 만 들 기: 
create index index_isbn on book (CATEGORY_ID,ISBN) ;
SQL 을 다시 실행 하면 발견 시간 이 0.009s 로 단 축 됩 니 다. 
这里写图片描述  
explain 을 사용 하여 이 SQL 을 분석 합 니 다. 
这里写图片描述  
type=ref,Extra=Using index 는 색인 조 회 를 사 용 했 습 니 다.
ref 는 앞의 표 에서 온 모든 줄 조합 에 대해 색인 값 과 일치 하 는 모든 줄 을 이 표 에서 읽 습 니 다.연결 은 키 의 맨 왼쪽 접두사 만 사용 하거나 유 니 크 또는 프 리 마리 키 가 아니라면 ref 를 사용 합 니 다.만약 사용 한 키 가 소량의 줄 만 일치한다 면,이 연결 유형 은 괜 찮 을 것 이다.
Mysql 의 조합 색인 방법 에 대한 상세 한 설명 은 여기까지 입 니 다.더 많은 Mysql 의 조합 색인 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기