MySQL 인덱스 의 집합 인덱스 소개

1848 단어 집합 인덱스
MySQL 에서 집합 색인 과 비 집합 색인 은 각각 무슨 뜻 입 니까?어떤 차이 가 있 습 니까?
MySQL 에서 InnoDB 엔진 시트 는(집합)색인 조직 표(clustered index organization table)이 고,MyISAM 엔진 시트 는 조직 표(heap organization table)다.
집합 색인 을 집합 색인 이 라 고 부 르 는 사람 도 있다.
물론 색인 을 모 으 는 개념 은 MySQL 에 있 는 것 이 아니 라 다른 데이터베이스 시스템 도 마찬가지 입 니 다.
즉,집합 색인 은 일종 의 색인 조직 형식 으로 색인 의 키 값 논리 순 서 는 표 데이터 줄 의 물리 적 저장 순 서 를 결정 합 니 다.집합 색인 이 아 닌 일반 색인 입 니 다.데이터 열 에 해당 하 는 색인 을 만 들 뿐 전체 표 의 물리 적 저장 순서 에 영향 을 주지 않 습 니 다.
우 리 는 먼저 두 가지 저장 형식의 다른 점 을 살 펴 보 자.
쉽게 말 하면 IOT 표 에 있 는 데이터 물리 적 저장 순서 와 메 인 키 색인 순서 가 일치 하기 때문에 새로 추 가 된 데이터 가 분 산 된 경우 데이터 블록 이 순서 가 아 닌 분 산 될 수 있다.HOT 표 데 이 터 는 기록 시간 순 으로 저 장 됩 니 다.
IOT 표 에 비해 HOT 표 의 장점 은:
범위 조회 효율 이 더욱 높다.
데이터 가 자주 업데이트 되 는 경우(색인 자 체 를 모 아 업데이트 하지 않 음)조각 이 생기 기 쉽 지 않 습 니 다.
특히 일부 핫 이 슈 데이터 가 자주 읽 고 쓰 는 장면 에 적합 하 다.
홈 키 를 통 해 데이터 에 접근 할 때 빠 른 속도 로 접근 할 수 있 습 니 다.
IOT 표 의 부족 은 다음 과 같 습 니 다.
데이터 변화 가 이산 위주 라면 HOT 표 보다 효율 이 떨어진다.
HOT 시계의 부족 함 은:
색인 회 표 읽 기 비용 이 매우 크다.
대부분의 데 이 터 를 읽 을 때 무 작위 로 읽 을 수 없고 비용 이 많이 든다.
모든 InnoDB 표 는 하나의 집합 색인 만 만 만 들 수 있 고 집합 색인 은 한 열 또는 여러 열 로 구성 할 수 있 습 니 다.
위 에서 말 했 듯 이 InnoDB 는 집합 색인 조직 표 입 니 다.집합 색인 선택 규칙 은 다음 과 같 습 니 다.
우선 집합 색인 으로 명시 적 으로 정 의 된 메 인 키 색인 을 선택 하 십시오.
없 으 면 NULL 을 허용 하지 않 는 첫 번 째 색인 을 선택 하 십시오.
없 으 면 이 노 DB 엔진 에 내 장 된 ROWID 를 집적 색인 으로 사용 합 니 다.
InnoDB 메 인 키 인덱스 의 설명 도 를 살 펴 보 겠 습 니 다.

그림 은 고성능 MySQL 에서 나온다.
이 색인 구조의 잎 노드 에서 노드 key 값 은 메 인 키 의 값 이 고 노드 의 value 는 나머지 열 데이터 와 추가 적 인 ROWID,rollback pointer,trx id 등 정 보 를 저장 하 는 것 을 볼 수 있다.
이 그림 과 위 에서 말 한 것 을 결합 하면 우 리 는 InnoDB 표 에서 그 집합 색인 은 전체 표 에 해당 하고 전체 표 도 집합 색인 이라는 것 을 알 수 있다.메 인 키 는 반드시 색인 을 모 으 는 것 이 고,색인 을 모 으 는 것 이 반드시 메 인 키 는 아니다.
MyISAM 은 색인 을 모 으 는 개념 이 없 는 조직 표 다.

좋은 웹페이지 즐겨찾기