(→기본 설명) |
(→기본 설명) |
||
| 12번째 줄: | 12번째 줄: | ||
- **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우) | - **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우) | ||
=== 해석 방법 === | |||
<source lang=sql> | |||
-- Clustering Factor 확인 | -- Clustering Factor 확인 | ||
SELECT | SELECT | ||
| 29번째 줄: | 28번째 줄: | ||
WHERE table_owner = 'HR' | WHERE table_owner = 'HR' | ||
AND table_name = 'EMPLOYEES'; | AND table_name = 'EMPLOYEES'; | ||
</source> | |||
**판단 기준:** | **판단 기준:** | ||
| Clustering Factor | 상태 {{!}} 의미 {{!}} | | Clustering Factor | 상태 {{!}} 의미 {{!}} | ||
|------------------|------|------| | |------------------|------|------| | ||
| 41번째 줄: | 39번째 줄: | ||
--- | --- | ||
=== Clustering Factor의 계산 원리 === | |||
# 인덱스를 순차적으로 스캔하면서: | |||
## - 이전 행과 다른 블록에 있으면: CF++ | |||
인덱스를 순차적으로 스캔하면서: | ## - 이전 행과 같은 블록에 있으면: CF 증가 없음 | ||
- 이전 행과 다른 블록에 있으면: CF++ | |||
- 이전 행과 같은 블록에 있으면: CF 증가 없음 | |||
==== 예제로 이해하기 ==== | |||
* 시나리오 1: 좋은 Clustering Factor | |||
<source lang=sql> | |||
인덱스 순서: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | 인덱스 순서: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | ||
블록 배치: [1,2,3] [4,5,6] [7,8,9] [10] | 블록 배치: [1,2,3] [4,5,6] [7,8,9] [10] | ||
| 58번째 줄: | 52번째 줄: | ||
Clustering Factor = 4 (블록 수) | Clustering Factor = 4 (블록 수) | ||
</source> | |||
시나리오 2: 나쁜 Clustering Factor | |||
<source lang=sql> | |||
인덱스 순서: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | 인덱스 순서: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | ||
블록 배치: [1] [5] [2] [7] [3] [9] [4] [10] [6] [8] | 블록 배치: [1] [5] [2] [7] [3] [9] [4] [10] [6] [8] | ||
| 67번째 줄: | 62번째 줄: | ||
Clustering Factor = 10 (행 수) | Clustering Factor = 10 (행 수) | ||
</source> | |||
--- | |||
---- | |||
## 성능에 미치는 영향 | ## 성능에 미치는 영향 | ||
2025년 10월 2일 (목) 18:45 판
문서 제목 없음
menu_book {{{내용}}}
기본 설명
값의 의미
- 범위
- **최소값**: 테이블의 블록 수 (완벽하게 정렬된 경우) - **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우)
해석 방법
-- Clustering Factor 확인
SELECT
index_name,
table_name,
clustering_factor,
num_rows,
leaf_blocks,
-- 테이블 블록 수
(SELECT blocks FROM dba_tables t
WHERE t.owner = i.table_owner
AND t.table_name = i.table_name) AS table_blocks
FROM dba_indexes i
WHERE table_owner = 'HR'
AND table_name = 'EMPLOYEES';
- 판단 기준:**
예제
{{{예제}}}
이전글/다음글
- [[]]
- [[]]
관련 문서
- [[]]
- [[]]
FAQ
- 질문
- 답변
- 질문
- 답변