생계/튜닝2025. 10. 17. 14:45
반응형

1. 클러스터링 팩터

인덱스 정렬 순서와 실제 데이터 블록 저장 순서가 얼마나 일치하는가 지표.
같은 인덱스를 사용해도 (인덱스 탐색 비용은 같지만) 테이블 랜덤엑세스 비용은 차이가 날 수있다. 

 

2. index block split

한쪽으로만 증가하는 컬럼에 인덱스 생성하는 경우 (ex. sysdate) index block split 으로 인한 경합 가능성.
이에 대한 대안
 - index 컬럼 변경.
 - 입력방식 검토 (ex. sysdate 를 null 로 받고 배치로 update )
 - 리버스 키 인덱스.
 - 블록 크기 변경 => 별도의 tbs

# Reverse key index ( 키 값을 바이트 단위로 반전시켜 저장하는 특수한 B*Tree 인덱스)

-- 여러 컬럼을 이용한 복합 리버스 키 인덱스 생성
CREATE INDEX idx_emp_dept ON employees (empno, deptno) REVERSE;

-- 기존 인덱스를 리버스 키 인덱스로 재생성
ALTER INDEX index_name REBUILD REVERSE;

-- 반대로 일반 인덱스로 되돌리기
ALTER INDEX index_name REBUILD NOREVERSE;

 

3. 모순적 관점인가

모여있어야 하면서 흩어져 있어야 하는 모순적 관점으로 보일수도 있다.

CF (읽기 관점, 데이터의 저장 관점)  VS  index block split  (쓰기 관점, 인덱스 컬럼 저장관점) 

 

반응형
Posted by 돌고래트레이너