카테고리 없음
인덱스
2019. 5. 14. 09:51반응형
인덱스
장점
검색 속도가 매우 빨라진다. ( 꼭 그런것만은 아니다)
그 결과 해당 쿼리의 부하가 줄어들어 결국 시스템 전체의 성능이 향상
단점
인덱스를 저장할 공간이 필요하다.(대략 데이터베이스 크기의 10% 정도 추가 공간이 필요하다)
처음 인덱스를 생성하는 데 많은 시간이 소요된다.
데이터의 변경(삽입,수정,삭제) 작업이 자주 일어날 경우 오히려 성능이 나빠질 수 있다.
-> 삽입, 수정, 삭제가 끝났을 때 인덱싱 해주면 좋다.
인덱스의 종류
MySQL에서 사용하는 인덱스에는 클러스터형 인덱스, 보조 인덱스가 있다.
클러스터형 인덱스
튜플이 추가 될때마다 기 설정된 정렬기준으로 재배치함
영어 사전 처럼 책의 내용 자체가 순서대로 정렬되어 있어 인덱스가 책의 내용과 같다.
테이블당 하나만 생성할 수 있다.!!
클러스터형 인덱스 사용방법 -> PRIMARY KEY로 지정하면 된다.
즉 PRIMARY KEY는 클러스트터형 인덱스이다!
PRIMARY KEY -> 클러스터형 인덱스
UNIQE -> 보조인덱스
보조인덱스
컬럼이 UNIQUE하고 NOT NULL이어야 보조인덱스가 가능하다.
인덱스는 B-Tree로 이루어짐
B-Tree
해시값 충돌을 대비하는 트리
클러스터형 인덱스는 이 트리를 써서 정렬한다.
보조인덱스 내부구성
내부적으로 정렬한다. 한칸씩 땡긴다.
반응형