오라클 인덱스 2

[ORACEL] 인덱스 특징

- 인덱스를 저장하는 단위는 블록. 인덱스는 지정된 컬럼의 값과 데이터의 원본을 찾아갈 수 있는 주소(ROWID)로 구성 - 인덱스 구성할 때 컬럼수와 데이터 사이즈마다 인덱스 블록에 저장되는 건수는 다름 - 오라클에서는 컬럼이 NULL 인경우 인덱스 생성하지 않음 (실제 데이터가 모두 NULL이 아니어도 해당 컬럼이 NULL을 허용하는 경우 다른 실행계획이 나올 수 있음) - 복합인덱스라면 모든 컬럼이 NULL이 아니면 인덱스는 생성됨 왜? 인덱스 활용을 못하고 TABLE FULL 스캔한 이유는 컬럼에 NOT NULL이 아니면 오라클은 컬럼에 NULL이 있다고 판단 인덱스 컬럼에 NULL 데이터가 있으면 인덱스 이용해 전체 데이터를 가져올수 없다고 판단하여 인덱스로 정렬을 대신하지 못함. 컬럼을 NOT..

DB 관리 TIP 2021.07.04

[ORACLE] INDEX 튜닝정리 I/O 효율

1. index scan : 인덱스는 많은 데이터에서 소량의 데이터 찾을 때 full table scan : 많은 데이터에서 많은데이터 가져오는 때 인덱스 컬럼값이 많다--> 한블럭에 담을수 있는 인덱스 양은 작아짐(복합인덱스) 인덱스 컬럼값이 작다--> 한블럭에 담을수 있는 인덱스 양이 많아짐 소량의 데이터에 인덱스를 만들면 root=leaf 수도 있음 2. 인덱스탐색원리 이진트리 2의 N제곱만큼 경우의 수 3. 인덱스는 정렬된 상태로 저장 되어 있으므로, 먼저 찾은 데이터를 먼저 결과집합으로 만들기 때문에, 인덱스가 저장된 그대로 결과 데이터도 정렬되어 나옴(정렬에 대한 부하를 인덱스 통해서 없앨 수 있음). 4.블로단위 I/O 5.sequential Access와 Random Access이해 1) ..

DB 관리 TIP 2021.06.21
728x90
반응형
LIST