Rookiss Part5 데이터베이스 : 인덱스
🙇♀️인덱스
- INDEX(색인)이란?
- 책에서 특정 단어가 몇 페이지에 나오는지 찾아보려면?
- 책 후반에 INDEX(색인)을 참고하면, 쉽게 찾을 수 있다
🪐이진 검색 트리
1) 왼쪽을 타고 가면 현재 값보다 작다 2) 오른쪽을 타고 가면 현재 값보다 크다
🪐PRIMARY KEY? INDEX?
INDEX는 CLUSTERED와 NON-CLUSTERED 2가지 종류가 있다
- PRIMARY KEY = 대부분 CLUSTERED INDEX
- 테이블당 1개만 존재!
- 제일 좋고 빠르다
- 나머지 = NON-CLUSTERED INDEX
- 별다른 제한 없음
🪐CLUSTERED INDEX(영한사전!)
-
실제 데이터가 키에 따라 정렬된 상태로 저장
-
CLUSTERED INDEX는 데이터마다 유일성이 보장되는게 특징! CF) ID로 걸면 가장 좋다
🪐요약
**INDEX(색인)은 데이터를 빨리 찾을 수 있게 보조해준다
- PRIMARY KEY (CLUSTERED INDEX)
- 물리적인 데이터 저장 순서의 기준
- 영한 사전
- 일반 INDEX (NON-CLUSTERED INDEX)
- 따로 관리하는 일정의 LOOKUP 테이블
- 책 후반에 나오는 색인
🪐인덱스 추가 / 삭제
-
인덱스 CREATE INDEX
- 기본형
CREATE INDEX i1 ON accounts(accountName)
- 조건추가 (UNIQUE, CLUSTERED … )
CREATE UNIQUE INDEX i1 ON accounts(accountName)
CREATE CLUSTERED INDEX i1 ON accounts(accountName)
- 두개 이상 인자에 대한 인덱스
CREATE INDEX i1 ON accounts(accountName, coins)
- 기본형
-
인덱스 삭제 DROP INDEX
DROP INDEX accounts.i1