INDEX란?

  • SQL 구문 중 SELECT 처리 속도를 향상 시키기 위해 컬럼에 대하여 생성하는 객체

장점

  • 이진 트리 형식으로 구성되어 자동 정렬 및 검색 속도 증가
  • 조회 시 테이블의 전체 내용을 확인하며 조회하는 것이 아닌 인덱스가 지정된 컬럼만을 이용해서 조회하기 때문에 시스템의 부하가 낮아짐

단점

  • 데이터 변경(DML) 작업 시 이진 트리 구조에 변형이 일어남
  • DML 작업이 빈번한 경우 시스템 부하가 늘어 성능이 저하됨
  • 인덱스도 하나의 객체이다 보니 별도의 저장 공간이 필요(메모리 소비)
  • 인덱스 생성 시간이 필요함

작성법

-- 생성
CREATE [UNIQUE] INDEX 인덱스명
ON 테이블명 (컬럼명[, 컬럼명 | 함수명]);
-- 삭제
DROP INDEX 인덱스명;

활용법

  • 인덱스가 설정된 컬럼을 WHERE 조건절에 명시하면 검색속도가 빠르다

자동생성

  • PRIMARY KEY 또는 UNIQUE 제약조건이 설정된 컬럼에 대해 UNIQUE INDEX가 자동 생성된다

0개의 댓글

Powered by GraphCDN, the GraphQL CDN