카테고리 없음

[혼공S] 5주차 _ chapter6

호정🐹 2025. 2. 16. 17:57

이제서야 받은 꿀커피를 먹어봤는데... 되게 신기한 맛... 꿀과... 커피...?

 

1. 인덱스

- 데이터를 빠르게 찾을 수 있도록 도와주는 도구

 

* 클러스터형 인덱스 : 기본 키로 지정하면 자동 생성, 테이블에 1개만 만들 수 있음

기본 키로 지정한 열을 기준으로 자동 정렬

 

* 보조 인덱스 : 고유 키로 지정하면 자동 생성되며 여러 개를 만들 수 있음. But 자동 정렬을 되지 않음.

 

✓ 장점 : SELECT 문으로 검색하는 속도가 매우 빨라짐

컴퓨터의 부담이 줄어들어서 전체 시스템의 성능이 향상됨

 

✓ 단점 : 공간 차지로 인해 데이터베이스 안에 추가적인 공간 필요

처음 인덱스를 만들 시 시간이 오래 걸릴 수 있음.

 

2. 균형 트리

- 클러스터형 인덱스와 보조 인덱스는 모두 내부적으로 균형 트리로 만들어짐

 

* 노드 ( 페이지 page )

- 데이터가 저장되는 공간

 

루트 노드 - 중간 노드 - 리프 노드

 

[ 관련 명령어 ]

* 테이블 인덱스 확인 : show index from 테이블이름

 

key_name : primary라면 기본 키로 설정해서 자동으로 생성된 인덱스

 

column_name : 해당 열에 인덱스가 만들어짐

 

Non_unique : 중복이 허용되지 않는 인덱스

- 0 : false

- 1 : true

 

보조 인덱스는 여러개 만들 수 있음 => 하지만! 많이 만들 수록 데이터베이스의 공간을 많이 차지하므로 효율이 좋지 않음!

 

* 인덱스 크기 확인 

- show table status like '테이블 이름'

 

* 단순 보조 인덱스 생성

- create index 테이블 이름 on 테이블이름(열 이름);

 

* 인덱스 적용

- analyze table 테이블 이름

 

* 고유 보조 인덱스 생성

- create unique index 인덱스 이름 on 테이블 이름(열 이름)

: 중복 데이터를 허용 안 함

=> 이미 중복 데이터가 있을 시 인덱스를 만들 수 없음

 

[ 숙제 ]

- key_name이 primary로 출력된 결과 화면 캡쳐!