새소식

DataBase

db - 인덱스

  • -

정의

데이터베이스 분야에 있어서 테이블에 대한 동작의 속도를 높여주는 자료 구조를 일컫는다.

장점

- 인덱스를 사용하면 테이블 전체를 읽지 않아도 되므로, 검색과 질의에 대한 처리가 빠르다.

사용법

일반 INDEX 생성

  • tableName이라는 테이블의 fieldName 필드에 indexName이라는 인덱스를 설정
CREATE INDEX indexName
ON tableName(fieldName);

UNIQUE INDEX 생성

  • UNIQUE INDEX는 중복값을 허용하지 않는 인덱스이다.
CREATE UNIQUE INDEX indexName
ON tableName (fieldName1, fieldName2, ...)
  • ,(쉼표) 사용 시 여러 필드에 UNIQUE INDEX를 생성해 줄 수 있다.

조회

  • tableName 테이블의 인덱스를 조회
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 : 인덱스에 관한 모든 기타 정보를 표시함.

정렬

  • DESC - 내림차순
  • ASC - 오름차순
CREATE INDEX indexName
ON tableName (fieldName DESC)

CREATE INDEX indexName
ON tableName (fieldName ASC)
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.