반응형
<인덱스>
- 데이터를 빠르게 찾아주는 도구
- 클러스터형 인덱스, 보조인덱스, 고유 인덱스 등이 있다.
- 클러스터형 인덱스 : 기본키로 지정하면 자동 생성, 테이블에 1개만 제작 가능
- 보조 인덱스 : 고유키로 지정하면 자동 생성, 여러개를 만들수도 있지만 자동 정렬되지는 않는다.
- 고유 인덱스 : 값이 중복되지 않는 인덱스
- 빨리 찾을 수 있는 단점이 있지만, 필요없는 인덱스를 너무 많이 만들경우 되려 공간차지만 할수도 있다.
<인덱스의 내부 작동 원리>
- 클러스터형 인덱스와 보조 인덱스는 내부적으로 균형 트리로 만들어진다.
[균형 트리]
- 데이터가 저장되는 공간을 노드라고 한다.
- 루트페이지부터 하나하나 검색해서 아래로 내려간다.
- 균형트리로 만들경우 데이터를 변경하는 작업에서 더 오래걸릴수 있다 => 페이지 분할 때문
- 페이지분할 : 새로운 페이지를 준비해서 데이터를 나누는 작업
<인덱스의 실제 사용>
[인덱스 생성]
CREATE [UNIQUE] INDEX 인덱스_이름
ON 테이블_이름 (열_이름) [ASC | DESC]
- UNIQUE : 중복이 안되는 고유 인덱스 생성
[인덱스 제거]
DROP INDEX 인덱스_이름 ON 테이블_이름
<인덱스를 효과적으로 사용하는 방법>
- 인덱스는 열 단위에 생성이 된다.
- WHERE절에서 사용되는열에 인덱스를 만들어야 한다.
- WHERE절에 사용되더라도 자주 사용해야 가치가 있다.
- 데이터의 중복이 높은 열은 인덱스를 만들어도 별 효과가 없다.
- 클러스터형 인덱스는 테이블당 하나만 생성할 수 있다.
- 사용하지 않는 인덱스는 제거한다.
반응형
'혼공단 > 혼공단 7기' 카테고리의 다른 글
혼자 공부하는 SQL 7,8장 - 스토어드 프로시저 & SQL과 파이썬 연결 (0) | 2022.02.17 |
---|---|
[혼공단 7기] 혼자 공부하는 SQL 5주차 후기 및 미션 인증 (0) | 2022.02.13 |
[혼공단 7기] 혼자 공부하는 SQL 4주차 후기 및 미션 인증 (0) | 2022.02.06 |
혼자 공부하는 SQL 5장 - 테이블과 뷰 (0) | 2022.02.06 |
혼자 공부하는 SQL 4장 - SQL 고급문법 (0) | 2022.01.29 |