: 전체 내용 중에서 특정한 부분을 바로 찾을 수 있도록 목차를 만드는 개념으로, 데이터가 정렬돼있는 주소값을 저장하는 오브젝트
- 일반적인 테이블은 정렬이 돼있지 않지만,
인덱스는 정렬
돼 있음 - 전체 데이터에서 적은 양의 데이터를 검색할 때 사용
- 전체 테이블의
15%
이내여야 유리
- 전체 테이블의
- 성능향상 조건 →
I/O
와지연시간
낮추기 B트리
로 구성
컬럼의 값과 주소를 정렬하여 저장하는 인덱스는 맨 처음 값이 무엇인지
모른다면 참조 불가능하다. 이럴 경우 Full Scan
을 해야 한다.
- WHERE column1 LIKE '
%
index' → 사용 불가 - WHERE column2 LIKE 'index
%
' → 사용 가능
IS NULL
→ NULL은 value에 들어가지 않음IS NOT NULL
→ 인덱스는 NULL이 없으므로Full Scan
- SUBSTR() 같이 중간 부분을 떼어내는 경우
- 칼럼의 값이 변형된 경우
- 부정 연산자를 사용하면 결과값의 범위가 넓어짐
암시적 형변환이 일어날 경우, 인덱스 컬럼이 가공이 되는지, 비교되는 데이터가 변경이되는지 에 따라서 인덱스를 사용할 수도 안할수도 있음