-
SQL - 인덱스(INDEX)DataBase/Oracle 2022. 1. 28. 21:41728x90반응형
인덱스(INDEX)
- SQL명령문의 검색 처리 속도를 향상하기 위해 칼럼에 대해서 생성하는 오라클 객체
- 하드디스크의 어느 위치에 있는지 정보를 가진 주소록(ROWID)
- PK, UNIQUE이 있으면 자동으로 INDEX 객체가 생성된다.
- ROWID 구조 : 오브젝트 번호, 상대 파일 번호, 블록 번호, 데이터 번호
인덱스의 내부 구조는 이진트리 형식으로 구성되어 있고 인덱스를 생성하기 위해서는 시간이 필요하다. 또한 인덱스를 위한 추가 저장 공간이 필요하기 때문에 반드시 좋은 것은 아니다. 이러한 이유 때문에 인덱스가 생성된 칼럼에서 DML 작업이 빈번하게 일어나는 경우 처리 속도는 느려진다. 그 이유는 데이터의 변경 작업이 자주 일어나면 계속적으로 인덱스를 다시 REBUILD 작업을 주기적으로 해줘야 하고, 자주 해주지 않으면 성능이 오히려 저하되기 때문이다.
인덱스 종류
- 고유 인덱스(UNIQUE INDEX)
- 비고유 인덱스(NONUNIQUE INDEX)
- 단일 인덱스(SINGLE INDEX)
- 결합 인덱스(CONPOSITE INDEX)
- 함수기반 인덱스(FUNCTION BASED INDEX)
728x90반응형'DataBase > Oracle' 카테고리의 다른 글
SQL - 권한과 ROLE (0) 2022.01.28 SQL - 동의어(SYSNONYM) (0) 2022.01.28 SQL - 시퀀스(SEQUENCE) (0) 2022.01.28 SQL - VIEW, VIEW 옵션 (0) 2022.01.28 SQL - DDL(Data Definition Language)의 ALTER, DROP (0) 2022.01.27