[ DB ] - 클러스터 팩터
클러스터 팩터
1) 클러스터 팩터란
-> 인덱스 스캔을 통해 액세스 된 row수와 액세스한 테이블 블록 수와의 관계로써 액세스하고자 하는 데이터들이 얼마나 모여있는가를 뜻한다.
2) 클러스터 팩터의 법칙
클러스터 팩터값 = (인덱스 스캔을 통해 액세스 된 row 수) / (액세스 한 테이블 블록 수)
|------------|------------------------------------------------------------|
0 1 인덱스 스캔을 통해 액세스된 row 수
가) 클러스터 팩터값이 인덱스 스캔을 통해 엑세스 된 row수에 근접할 경우
(액세스한 테이블 블록수가 1에 가까운 경우) -> 양호 또는 최적화 되어있다.
나) 클러스터 팩터값이 1에 근접한 경우
(인덱스 스캔을 통해 액세스 된 row 수와 세스 한 테이블 블록 수가 거의 같은 경우) -> 불량
다) 클러스터 팩터의 값이 0에 근접한 경우
(인덱스 스캔을 통해 액세스 된 row수가 0에 가까운 경우) -> 해당 테이블에 row 체이닝 현상이 발생하여 하나의 row가 두개의 블럭에 저장된 것으로 반드시 테이블 재구성이 필요하다.
(row 체이닝 : 하나의 row 길이가 너무 커서 다른 블럭에 두고 연결)
3) 클러스터 팩터 최적화 방법
가) 주기적인 테이블 재구성
나) cluster Table(DML시 성능 저하로 사용잘 안함) : 같은 레코드가 한 블록에 모이게 저장하는 구조
다) index-Organized Table(IOT) : 액세스가 발생하지 않도록 인덱스 구조로 생성된 테이블