정의
데이터베이스 분야에 있어서 테이블에 대한 동작의 속도를 높여주는 자료 구조를 일컫는다.
장점
- 인덱스를 사용하면 테이블 전체를 읽지 않아도 되므로, 검색과 질의에 대한 처리가 빠르다.
사용법
일반 INDEX 생성
tableName
이라는 테이블의 fieldName
필드에 indexName
이라는 인덱스를 설정
CREATE INDEX indexName
ON tableName(fieldName);
UNIQUE INDEX 생성
- UNIQUE INDEX는 중복값을 허용하지 않는 인덱스이다.
CREATE UNIQUE INDEX indexName
ON tableName (fieldName1, fieldName2, ...)
- ,(쉼표) 사용 시 여러 필드에 UNIQUE INDEX를 생성해 줄 수 있다.
조회
SHOW INDEX
FROM tableName
인덱스 정보의 필드값
1. Table : 테이블의 이름을 표시함.
2. Non_unique : 인덱스가 중복된 값을 저장할 수 있으면 1, 저장할 수 없으면 0을 표시함.
3. Key_name : 인덱스의 이름을 표시하며, 인덱스가 해당 테이블의 기본 키라면 PRIMARY로 표시함.
4. Seq_in_index : 인덱스에서의 해당 필드의 순서를 표시함.
5. Column_name : 해당 필드의 이름을 표시함.
6. Collation : 인덱스에서 해당 필드가 정렬되는 방법을 표시함.
7. Cardinality : 인덱스에 저장된 유일한 값들의 수를 표시함.
8. Sub_part : 인덱스 접두어를 표시함.
9. Packed : 키가 압축되는(packed) 방법을 표시함.
10. Null : 해당 필드가 NULL을 저장할 수 있으면 YES를 표시하고, 저장할 수 없으면 ''를 표시함.
11. Index_type : 인덱스에 사용되는 메소드(method)를 표시함.
12. Comment : 해당 필드를 설명하는 것이 아닌 인덱스에 관한 기타 정보를 표시함.
13. Index_comment : 인덱스에 관한 모든 기타 정보를 표시함.
정렬
CREATE INDEX indexName
ON tableName (fieldName DESC)
CREATE INDEX indexName
ON tableName (fieldName ASC)