P.301쪽 인덱스 생성하고 key_name이 primary 출력화면 캡처
CREATE [유니크] INDEX 인덱스 이름
ON 테이블 이름 (열이름) [오름차순|내림차순]
DROP INDEX 인덱스 이름 ON 테이블 이름
장점 | 단점 |
---|---|
SELECT문 검색 속도가 빠름 | 인덱스가 공간을 차지함(테이블 크기의 10%) |
→ 전체시스템 성능이 향상됨 | 처음 인덱스를 만들때 시간이 오래걸림 |
INSERT, UPDATE, DELETE 작업을 자주하면 성능이 나빠짐 |
하나의 열에 하나의 인덱스를 생성함
key_name의 PRIMARY: 자동생성된 인덱스, 클러스터형 인덱스
Non_unique : 중복이 허용되는가? / 0은 false, 1은 true
key_name의 UNIQUE: 고유키로 생성되는 인덱스는 보조인덱스
key_name의 열이름 : 보조인덱스
클러스터형 인덱스 생성
보조 인덱스 생성
CREATE INDEX로는 보조인덱스를 생성함
CREATE [유니크] INDEX 인덱스 이름
ON 테이블 이름 (열이름) [오름차순|내림차순]
DATA_LENGTH : 클러스트 인덱스의 크기. Byte단위
INDEX_LENGTH : 보조인덱스 크기
NON_UNIQUE : 1은 중복 허용 함. 0은 중복 허용 안함
ANALYZE TABLE : 보조인덱스 적용을 위해 테이블 분석을 해야함
CREATE UNIQUE INDEX ON : 고유보조 인덱스 생성. 중복없는 경우만 지정이 가능 but 현재 중복값이 없다고 지정하면 안됨
중복데이터가 많은 열에 인덱스를 생성하는것은 성능만 나빠지게 함
기본키, 고유키로 생성된 인덱스는 "DROP INDEX"로 제거 못함 → ALTER TABLE문으로 제거해야함
DROP INDEX 인덱스 이름 ON 테이블 이름
제거 순서 : 보조 인덱스 제거 → 클러스터형 인덱스 제거