<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://dbstudy.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81_%ED%8C%A9%ED%84%B0</id>
	<title>클러스터링 팩터 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://dbstudy.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81_%ED%8C%A9%ED%84%B0"/>
	<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81_%ED%8C%A9%ED%84%B0&amp;action=history"/>
	<updated>2026-05-08T15:41:05Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://dbstudy.co.kr/w/index.php?title=%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81_%ED%8C%A9%ED%84%B0&amp;diff=1555&amp;oldid=prev</id>
		<title>2025년 10월 2일 (목) 09:41에 Oracle님의 편집</title>
		<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81_%ED%8C%A9%ED%84%B0&amp;diff=1555&amp;oldid=prev"/>
		<updated>2025-10-02T09:41:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 10월 2일 (목) 18:41 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;6번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;6번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|본문=  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|본문=  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 값의 의미 ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 값의 의미 ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# 범위&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- **최소값**: 테이블의 블록 수 (완벽하게 정렬된 경우)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;### 해석 방법&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;### 해석 방법&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Oracle</name></author>
	</entry>
	<entry>
		<id>https://dbstudy.co.kr/w/index.php?title=%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81_%ED%8C%A9%ED%84%B0&amp;diff=1554&amp;oldid=prev</id>
		<title>2025년 10월 2일 (목) 09:33에 Oracle님의 편집</title>
		<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81_%ED%8C%A9%ED%84%B0&amp;diff=1554&amp;oldid=prev"/>
		<updated>2025-10-02T09:33:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 10월 2일 (목) 18:33 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SQL|제목=CLUSTERING_FACTOR|내용=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;## &lt;/del&gt;CLUSTERING_FACTOR란?&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SQL&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|제목=CLUSTERING_FACTOR&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*&lt;/del&gt;*&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;인덱스와 &lt;/del&gt;테이블 데이터의 물리적 정렬 상태를 나타내는 통계 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;정보*&lt;/del&gt;*&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;입니다. &lt;/del&gt;인덱스 키 순서와 테이블 블록의 물리적 배치가 얼마나 일치하는지를 측정합니다.|본문=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;## &lt;/del&gt;값의 의미&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|내용= CLUSTERING_FACTOR란?  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;::&lt;/ins&gt;*&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ㅠ인덱스와 &lt;/ins&gt;테이블 데이터의 물리적 정렬 상태를 나타내는 통계 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;정보입니다. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;##&lt;/del&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;📊 &lt;/del&gt;범위&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;::&lt;/ins&gt;* 인덱스 키 순서와 테이블 블록의 물리적 배치가 얼마나 일치하는지를 측정합니다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|본문=  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== &lt;/ins&gt;값의 의미 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 범위&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;- **최소값**: 테이블의 블록 수 (완벽하게 정렬된 경우)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;- **최소값**: 테이블의 블록 수 (완벽하게 정렬된 경우)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;- **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;- **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l347&quot;&gt;347번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;350번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 대용량 테이블 | 매우 높음 {{!}} IOT 또는 파티셔닝 {{!}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 대용량 테이블 | 매우 높음 {{!}} IOT 또는 파티셔닝 {{!}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Clustering Factor는 인덱스 성능을 판단하는 핵심 지표이므로, DBA는 정기적으로 모니터링하고 필요시 개선 작업을 수행해야 합니다!|언어=sql|분류=oracle}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Clustering Factor는 인덱스 성능을 판단하는 핵심 지표이므로, DBA는 정기적으로 모니터링하고 필요시 개선 작업을 수행해야 합니다!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|언어=sql&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|분류=oracle&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Oracle</name></author>
	</entry>
	<entry>
		<id>https://dbstudy.co.kr/w/index.php?title=%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81_%ED%8C%A9%ED%84%B0&amp;diff=1552&amp;oldid=prev</id>
		<title>Oracle: 새 문서: {{SQL|제목=CLUSTERING_FACTOR|내용=## CLUSTERING_FACTOR란?  **인덱스와 테이블 데이터의 물리적 정렬 상태를 나타내는 통계 정보**입니다. 인덱스 키 순서와 테이블 블록의 물리적 배치가 얼마나 일치하는지를 측정합니다.|본문=## 값의 의미  ### 📊 범위 - **최소값**: 테이블의 블록 수 (완벽하게 정렬된 경우) - **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우)  ### 해석...</title>
		<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81_%ED%8C%A9%ED%84%B0&amp;diff=1552&amp;oldid=prev"/>
		<updated>2025-10-02T04:43:04Z</updated>

		<summary type="html">&lt;p&gt;새 문서: {{SQL|제목=CLUSTERING_FACTOR|내용=## CLUSTERING_FACTOR란?  **인덱스와 테이블 데이터의 물리적 정렬 상태를 나타내는 통계 정보**입니다. 인덱스 키 순서와 테이블 블록의 물리적 배치가 얼마나 일치하는지를 측정합니다.|본문=## 값의 의미  ### 📊 범위 - **최소값**: 테이블의 블록 수 (완벽하게 정렬된 경우) - **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우)  ### 해석...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{SQL|제목=CLUSTERING_FACTOR|내용=## CLUSTERING_FACTOR란?&lt;br /&gt;
&lt;br /&gt;
**인덱스와 테이블 데이터의 물리적 정렬 상태를 나타내는 통계 정보**입니다. 인덱스 키 순서와 테이블 블록의 물리적 배치가 얼마나 일치하는지를 측정합니다.|본문=## 값의 의미&lt;br /&gt;
&lt;br /&gt;
### 📊 범위&lt;br /&gt;
- **최소값**: 테이블의 블록 수 (완벽하게 정렬된 경우)&lt;br /&gt;
- **최대값**: 테이블의 행 수 (완전히 무작위로 분산된 경우)&lt;br /&gt;
&lt;br /&gt;
### 해석 방법&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- Clustering Factor 확인&lt;br /&gt;
SELECT &lt;br /&gt;
    index_name,&lt;br /&gt;
    table_name,&lt;br /&gt;
    clustering_factor,&lt;br /&gt;
    num_rows,&lt;br /&gt;
    leaf_blocks,&lt;br /&gt;
    -- 테이블 블록 수&lt;br /&gt;
    (SELECT blocks FROM dba_tables t &lt;br /&gt;
     WHERE t.owner = i.table_owner &lt;br /&gt;
       AND t.table_name = i.table_name) AS table_blocks&lt;br /&gt;
FROM dba_indexes i&lt;br /&gt;
WHERE table_owner = &amp;#039;HR&amp;#039;&lt;br /&gt;
  AND table_name = &amp;#039;EMPLOYEES&amp;#039;;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
**판단 기준:**&lt;br /&gt;
&lt;br /&gt;
| Clustering Factor | 상태 {{!}} 의미 {{!}}&lt;br /&gt;
|------------------|------|------|&lt;br /&gt;
| ≈ 테이블 블록 수 | **좋음** ✅ {{!}} 데이터가 인덱스 순서대로 잘 정렬됨 {{!}}&lt;br /&gt;
| 테이블 블록 수 ~ 행 수 사이 | 보통 {{!}} 부분적으로 정렬됨 {{!}}&lt;br /&gt;
| ≈ 테이블 행 수 | **나쁨** ❌ {{!}} 데이터가 무작위로 흩어져 있음 {{!}}&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## Clustering Factor의 계산 원리&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
인덱스를 순차적으로 스캔하면서:&lt;br /&gt;
- 이전 행과 다른 블록에 있으면: CF++&lt;br /&gt;
- 이전 행과 같은 블록에 있으면: CF 증가 없음&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 예제로 이해하기&lt;br /&gt;
&lt;br /&gt;
**시나리오 1: 좋은 Clustering Factor**&lt;br /&gt;
```&lt;br /&gt;
인덱스 순서: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10&lt;br /&gt;
블록 배치:   [1,2,3] [4,5,6] [7,8,9] [10]&lt;br /&gt;
             Block1  Block2  Block3  Block4&lt;br /&gt;
&lt;br /&gt;
Clustering Factor = 4 (블록 수)&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
**시나리오 2: 나쁜 Clustering Factor**&lt;br /&gt;
```&lt;br /&gt;
인덱스 순서: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10&lt;br /&gt;
블록 배치:   [1] [5] [2] [7] [3] [9] [4] [10] [6] [8]&lt;br /&gt;
             B1  B2  B3  B4  B5  B6  B7  B8   B9  B10&lt;br /&gt;
&lt;br /&gt;
Clustering Factor = 10 (행 수)&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 성능에 미치는 영향&lt;br /&gt;
&lt;br /&gt;
### 좋은 Clustering Factor (낮은 값)&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- 예: CF = 1,000 (블록 수와 유사)&lt;br /&gt;
SELECT * FROM employees &lt;br /&gt;
WHERE department_id BETWEEN 10 AND 50;&lt;br /&gt;
&lt;br /&gt;
-- 결과: 약 1,000개 블록만 읽음&lt;br /&gt;
-- 각 블록에서 여러 행을 읽을 수 있음&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
**장점:**&lt;br /&gt;
- 인덱스 Range Scan이 효율적&lt;br /&gt;
- 물리적 I/O 최소화&lt;br /&gt;
- Buffer Cache 효율 증가&lt;br /&gt;
&lt;br /&gt;
### 나쁜 Clustering Factor (높은 값)&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- 예: CF = 100,000 (행 수와 유사)&lt;br /&gt;
SELECT * FROM employees &lt;br /&gt;
WHERE department_id BETWEEN 10 AND 50;&lt;br /&gt;
&lt;br /&gt;
-- 결과: 약 50,000개 블록 읽음&lt;br /&gt;
-- 각 행마다 다른 블록을 읽어야 함&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
**단점:**&lt;br /&gt;
- 많은 물리적 I/O 발생&lt;br /&gt;
- 동일 블록을 반복 읽기&lt;br /&gt;
- Full Table Scan이 더 효율적일 수 있음&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 실무 조회 쿼리&lt;br /&gt;
&lt;br /&gt;
### 1. Clustering Factor 상태 확인&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
SELECT &lt;br /&gt;
    i.owner,&lt;br /&gt;
    i.table_name,&lt;br /&gt;
    i.index_name,&lt;br /&gt;
    i.clustering_factor,&lt;br /&gt;
    t.num_rows,&lt;br /&gt;
    t.blocks AS table_blocks,&lt;br /&gt;
    -- CF 품질 지표&lt;br /&gt;
    ROUND(i.clustering_factor / NULLIF(t.blocks, 0), 2) AS cf_ratio,&lt;br /&gt;
    CASE &lt;br /&gt;
        WHEN i.clustering_factor &amp;lt;= t.blocks * 1.2 THEN &amp;#039;좋음 ✅&amp;#039;&lt;br /&gt;
        WHEN i.clustering_factor &amp;lt;= t.blocks * 5 THEN &amp;#039;보통 ⚠️&amp;#039;&lt;br /&gt;
        WHEN i.clustering_factor &amp;lt;= t.num_rows * 0.5 THEN &amp;#039;나쁨 ❌&amp;#039;&lt;br /&gt;
        ELSE &amp;#039;매우 나쁨 🚫&amp;#039;&lt;br /&gt;
    END AS cf_status,&lt;br /&gt;
    -- 효율성 점수 (낮을수록 좋음)&lt;br /&gt;
    ROUND((i.clustering_factor / NULLIF(t.num_rows, 0)) * 100, 2) AS efficiency_pct&lt;br /&gt;
FROM dba_indexes i&lt;br /&gt;
JOIN dba_tables t ON i.table_owner = t.owner &lt;br /&gt;
                  AND i.table_name = t.table_name&lt;br /&gt;
WHERE i.owner = &amp;#039;HR&amp;#039;&lt;br /&gt;
  AND t.num_rows &amp;gt; 0&lt;br /&gt;
ORDER BY efficiency_pct DESC;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 2. 문제가 있는 인덱스 찾기&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
SELECT &lt;br /&gt;
    i.owner,&lt;br /&gt;
    i.table_name,&lt;br /&gt;
    i.index_name,&lt;br /&gt;
    i.clustering_factor,&lt;br /&gt;
    t.blocks AS table_blocks,&lt;br /&gt;
    t.num_rows,&lt;br /&gt;
    ROUND(i.clustering_factor / t.num_rows * 100, 2) AS cf_pct,&lt;br /&gt;
    ROUND((t.num_rows * t.avg_row_len) / 1024 / 1024, 2) AS table_size_mb&lt;br /&gt;
FROM dba_indexes i&lt;br /&gt;
JOIN dba_tables t ON i.table_owner = t.owner &lt;br /&gt;
                  AND i.table_name = t.table_name&lt;br /&gt;
WHERE i.owner NOT IN (&amp;#039;SYS&amp;#039;, &amp;#039;SYSTEM&amp;#039;)&lt;br /&gt;
  AND t.num_rows &amp;gt; 10000  -- 작은 테이블 제외&lt;br /&gt;
  AND i.clustering_factor &amp;gt; t.blocks * 10  -- CF가 블록 수의 10배 이상&lt;br /&gt;
ORDER BY (i.clustering_factor / t.num_rows) DESC;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 3. 인덱스 효율성 분석&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
WITH index_stats AS (&lt;br /&gt;
    SELECT &lt;br /&gt;
        i.owner,&lt;br /&gt;
        i.table_name,&lt;br /&gt;
        i.index_name,&lt;br /&gt;
        i.clustering_factor,&lt;br /&gt;
        t.blocks,&lt;br /&gt;
        t.num_rows,&lt;br /&gt;
        -- 인덱스로 100행을 읽을 때 예상 블록 접근 수&lt;br /&gt;
        CASE &lt;br /&gt;
            WHEN t.num_rows &amp;gt; 0 THEN&lt;br /&gt;
                ROUND((i.clustering_factor / t.num_rows) * 100, 0)&lt;br /&gt;
            ELSE 0&lt;br /&gt;
        END AS blocks_per_100_rows&lt;br /&gt;
    FROM dba_indexes i&lt;br /&gt;
    JOIN dba_tables t ON i.table_owner = t.owner &lt;br /&gt;
                      AND i.table_name = t.table_name&lt;br /&gt;
    WHERE i.owner = &amp;#039;HR&amp;#039;&lt;br /&gt;
)&lt;br /&gt;
SELECT &lt;br /&gt;
    owner,&lt;br /&gt;
    table_name,&lt;br /&gt;
    index_name,&lt;br /&gt;
    clustering_factor,&lt;br /&gt;
    blocks AS table_blocks,&lt;br /&gt;
    num_rows,&lt;br /&gt;
    blocks_per_100_rows,&lt;br /&gt;
    CASE &lt;br /&gt;
        WHEN blocks_per_100_rows &amp;lt;= 10 THEN &amp;#039;Range Scan 효율적&amp;#039;&lt;br /&gt;
        WHEN blocks_per_100_rows &amp;lt;= 50 THEN &amp;#039;Range Scan 사용 가능&amp;#039;&lt;br /&gt;
        ELSE &amp;#039;Full Scan 고려&amp;#039;&lt;br /&gt;
    END AS recommendation&lt;br /&gt;
FROM index_stats&lt;br /&gt;
ORDER BY blocks_per_100_rows DESC;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## Clustering Factor 개선 방법&lt;br /&gt;
&lt;br /&gt;
### 방법 1: 테이블 재구성 (MOVE)&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- 인덱스 컬럼 순서대로 테이블 재정렬&lt;br /&gt;
ALTER TABLE hr.employees MOVE;&lt;br /&gt;
&lt;br /&gt;
-- 인덱스 재구성&lt;br /&gt;
ALTER INDEX hr.emp_dept_idx REBUILD;&lt;br /&gt;
&lt;br /&gt;
-- 통계 재수집&lt;br /&gt;
EXEC DBMS_STATS.GATHER_TABLE_STATS(&amp;#039;HR&amp;#039;, &amp;#039;EMPLOYEES&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
-- CF 확인&lt;br /&gt;
SELECT index_name, clustering_factor &lt;br /&gt;
FROM user_indexes &lt;br /&gt;
WHERE index_name = &amp;#039;EMP_DEPT_IDX&amp;#039;;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 방법 2: 테이블을 인덱스 순서로 재생성&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- 임시 테이블 생성 (인덱스 순서대로)&lt;br /&gt;
CREATE TABLE employees_new AS&lt;br /&gt;
SELECT * FROM employees&lt;br /&gt;
ORDER BY department_id, employee_id;&lt;br /&gt;
&lt;br /&gt;
-- 원본 테이블 교체&lt;br /&gt;
DROP TABLE employees;&lt;br /&gt;
RENAME employees_new TO employees;&lt;br /&gt;
&lt;br /&gt;
-- 인덱스 재생성&lt;br /&gt;
CREATE INDEX emp_dept_idx ON employees(department_id);&lt;br /&gt;
&lt;br /&gt;
-- 통계 수집&lt;br /&gt;
EXEC DBMS_STATS.GATHER_TABLE_STATS(&amp;#039;HR&amp;#039;, &amp;#039;EMPLOYEES&amp;#039;);&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 방법 3: Partitioning 사용&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- 파티션 테이블로 변환&lt;br /&gt;
ALTER TABLE employees MODIFY&lt;br /&gt;
PARTITION BY RANGE (department_id)&lt;br /&gt;
(&lt;br /&gt;
    PARTITION p1 VALUES LESS THAN (20),&lt;br /&gt;
    PARTITION p2 VALUES LESS THAN (40),&lt;br /&gt;
    PARTITION p3 VALUES LESS THAN (60),&lt;br /&gt;
    PARTITION p4 VALUES LESS THAN (MAXVALUE)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
-- 로컬 인덱스 생성&lt;br /&gt;
CREATE INDEX emp_dept_idx ON employees(department_id) LOCAL;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 방법 4: IOT (Index-Organized Table) 사용&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- 기존 테이블을 IOT로 변환&lt;br /&gt;
CREATE TABLE employees_iot&lt;br /&gt;
ORGANIZATION INDEX&lt;br /&gt;
INCLUDING employee_id&lt;br /&gt;
OVERFLOW&lt;br /&gt;
AS SELECT * FROM employees;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## Optimizer가 Clustering Factor를 사용하는 방법&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- 실행 계획에서 Clustering Factor의 영향 확인&lt;br /&gt;
EXPLAIN PLAN FOR&lt;br /&gt;
SELECT * FROM employees &lt;br /&gt;
WHERE department_id BETWEEN 10 AND 50;&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY(null, null, &amp;#039;BASIC +COST&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
-- Cost 계산에 Clustering Factor가 사용됨&lt;br /&gt;
-- Cost = (Clustering Factor / Table Blocks) * Index Selectivity&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
**Optimizer의 판단:**&lt;br /&gt;
- **CF가 낮으면**: Index Range Scan 선호&lt;br /&gt;
- **CF가 높으면**: Full Table Scan 고려&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 실전 모니터링 스크립트&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- 일일 CF 모니터링&lt;br /&gt;
CREATE OR REPLACE VIEW v_clustering_factor_monitor AS&lt;br /&gt;
SELECT &lt;br /&gt;
    i.owner,&lt;br /&gt;
    i.table_name,&lt;br /&gt;
    i.index_name,&lt;br /&gt;
    i.clustering_factor,&lt;br /&gt;
    t.blocks,&lt;br /&gt;
    t.num_rows,&lt;br /&gt;
    ROUND(i.clustering_factor / NULLIF(t.blocks, 0), 2) AS cf_block_ratio,&lt;br /&gt;
    ROUND(i.clustering_factor / NULLIF(t.num_rows, 0) * 100, 2) AS cf_row_pct,&lt;br /&gt;
    i.last_analyzed,&lt;br /&gt;
    CASE &lt;br /&gt;
        WHEN i.clustering_factor &amp;lt;= t.blocks * 2 THEN &amp;#039;GOOD&amp;#039;&lt;br /&gt;
        WHEN i.clustering_factor &amp;lt;= t.blocks * 10 THEN &amp;#039;FAIR&amp;#039;&lt;br /&gt;
        ELSE &amp;#039;POOR&amp;#039;&lt;br /&gt;
    END AS status&lt;br /&gt;
FROM dba_indexes i&lt;br /&gt;
JOIN dba_tables t ON i.table_owner = t.owner &lt;br /&gt;
                  AND i.table_name = t.table_name&lt;br /&gt;
WHERE i.owner NOT IN (&amp;#039;SYS&amp;#039;, &amp;#039;SYSTEM&amp;#039;, &amp;#039;XDB&amp;#039;, &amp;#039;OUTLN&amp;#039;)&lt;br /&gt;
  AND t.num_rows &amp;gt; 1000;&lt;br /&gt;
&lt;br /&gt;
-- 사용&lt;br /&gt;
SELECT * FROM v_clustering_factor_monitor&lt;br /&gt;
WHERE status = &amp;#039;POOR&amp;#039;&lt;br /&gt;
ORDER BY cf_row_pct DESC;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 주의사항&lt;br /&gt;
&lt;br /&gt;
1. **통계 정보 최신화**&lt;br /&gt;
   ```sql&lt;br /&gt;
   -- CF는 통계 수집 시 계산됨&lt;br /&gt;
   EXEC DBMS_STATS.GATHER_INDEX_STATS(&amp;#039;HR&amp;#039;, &amp;#039;EMP_DEPT_IDX&amp;#039;);&lt;br /&gt;
   ```&lt;br /&gt;
&lt;br /&gt;
2. **DML 작업 후 CF 변화**&lt;br /&gt;
   - INSERT/UPDATE/DELETE 후 CF가 나빠질 수 있음&lt;br /&gt;
   - 주기적인 통계 수집 필요&lt;br /&gt;
&lt;br /&gt;
3. **파티션 테이블**&lt;br /&gt;
   - 파티션별로 CF가 다를 수 있음&lt;br /&gt;
   - USER_IND_PARTITIONS에서 확인&lt;br /&gt;
&lt;br /&gt;
4. **Multiblock Read**&lt;br /&gt;
   - CF가 나빠도 db_file_multiblock_read_count가 크면 영향 감소&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 요약&lt;br /&gt;
&lt;br /&gt;
| 상황 | Clustering Factor {{!}} 권장 사항 {{!}}&lt;br /&gt;
|-----|------------------|---------|&lt;br /&gt;
| OLTP, 자주 Range Scan | 테이블 블록 수와 유사 {{!}} 테이블 재구성 고려 {{!}}&lt;br /&gt;
| Batch, Full Scan 위주 | 높아도 무관 {{!}} 현상 유지 {{!}}&lt;br /&gt;
| 자주 변경되는 테이블 | 주기적으로 나빠짐 {{!}} 파티셔닝 검토 {{!}}&lt;br /&gt;
| 대용량 테이블 | 매우 높음 {{!}} IOT 또는 파티셔닝 {{!}}&lt;br /&gt;
&lt;br /&gt;
Clustering Factor는 인덱스 성능을 판단하는 핵심 지표이므로, DBA는 정기적으로 모니터링하고 필요시 개선 작업을 수행해야 합니다!|언어=sql|분류=oracle}}&lt;/div&gt;</summary>
		<author><name>Oracle</name></author>
	</entry>
</feed>