■■■ Develop ■■■/[ Database ]

[ DB ] - 클러스터 팩터

시드라엘 2013. 7. 10. 11:15

클러스터 팩터

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) : 액세스가 발생하지 않도록 인덱스 구조로 생성된 테이블