메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

틀:SQL: 두 판 사이의 차이

DB스터디
12번째 줄: 12번째 줄:
- **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우)
- **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우)


### 해석 방법
=== 해석 방법 ===
 
<source lang=sql>
```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의 계산 원리
=== Clustering Factor의 계산 원리 ===
 
# 인덱스를 순차적으로 스캔하면서:
```
## - 이전 행과 다른 블록에 있으면: CF++
인덱스를 순차적으로 스캔하면서:
## - 이전 행과 같은 블록에 있으면: CF 증가 없음
- 이전 행과 다른 블록에 있으면: CF++
- 이전 행과 같은 블록에 있으면: CF 증가 없음
```


### 예제로 이해하기
==== 예제로 이해하기 ====
 
* 시나리오 1: 좋은 Clustering Factor
**시나리오 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**
시나리오 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 {{{내용}}}

기본 설명

값의 의미

  1. 범위

- **최소값**: 테이블의 블록 수 (완벽하게 정렬된 경우) - **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우)

해석 방법

-- 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

질문
답변
질문
답변