study

[SQL] Chapter 05. Index

yz 2022. 6. 17. 14:07
/*
 1. 인덱스 (INDEX)
 - 지정한 컬럼들을 기준으로 메모리 영역에 일종의 목차를 생성하는 것
 - 테이블에 대한 검색 속도를 높여주는 기능
 - 효율적인 인덱스 컬럼 설정 방법
   . 중복되는 데이터가 최대한 적은 컬럼을 인덱스로 설정하는 것이 유리
     ex) 남/여 구분을 관리하는 컬럼보다는 주민등록번호 데이터를 관리하는 컬럼에 인덱스 설정이 유리
   . WHERE 절에 자주 사용되는 컬럼을 INDEX 로 설정하는 것이 유리
   . ORDER BY 구문에 자주 사용되는 컬럼을 INDEX 로 설정하는 것이 유리
   . 조인문의 ON, AND 구문에 자주 사용되는 컬럼을 INDEX 설정 유리

 - 클러스터형 인덱스 (목차)
   . 테이블당 한개만 생성이 가능
   . 행 데이터를 지정한 열에 맞추어 자동으로 정렬
   . 테이블의 데이터 자체가 순서대로 정렬됨
   . 설정 시 테이블의 데이터를 전부 정렬하기 때문에 많은 양의 데이터가 존재하는 테이블에서 수정 시 시스템 부하가 발생
   . 비클러스터형 인덱스보다 검색 속도가 빠르나 입력/수정/삭제가 느림

 - 비클러스터형 인덱스 (찾아보기)
   . 테이블당 여러 개 생성이 가능
   . 테이블의 데이터는 그냥 둔 상태로 별도의 인덱스 페이지를 생성하여 관리
   . 클러스터형 인덱스보다는 느리지만 입력/수정/삭제가 빠름
   . 너무 많이 설정하면 오히려 성능을 저하
LIST