#title DBCC ShowContig 해석
[[TableOfContents]]

==== DBCC ShowContig 문법 ====
문법은 다음과 같으며, 자세한 사항은 도움말을 참고한다. 여러가지 옵션이 있다는 것을 알아두고, 필요할 적에 도움말을 찾아보면서 상황에 맞게 적용하면 된다. 
{{{
DBCC SHOWCONTIG
    [     ( { table_name | table_id | view_name | view_id }
             [ , index_name | index_id ]
        ) 
    ] 
     [ WITH { ALL_INDEXES
                 | FAST [ , ALL_INDEXES ]
                 | TABLERESULTS [ , { ALL_INDEXES } ]
                 [ , { FAST | ALL_LEVELS } ] 
            }
    ]
}}}

==== 예제 ====
DBCC SHOWCONTIG는 테이블과 인덱스의 조각화 정도를 볼 수 있는 명령이다. 2005이후 버전은 동적 관리 뷰(sys.dm_db_index_physical_stats)를 이용한다. 다음은 예제와 그 설명이다. 

{{{ 
DBCC ShowContig('test_table')

DBCC SHOWCONTIG이(가) ' test_table ' 테이블을 스캔하는 중...
테이블: 'test_table' (677577452); 인덱스 ID: 1, 데이터베이스 ID: 5
TABLE 수준 스캔이 수행되었습니다.
- 스캔한 페이지................................: 100
- 스캔한 익스텐트..............................: 17
- 전환된 익스텐트..............................: 16
- 익스텐트 당 평균 페이지 수........................: 5.9
- 스캔 밀도[최적:실제].......: 76.47% [13:17]
- 논리 스캔 조각화 상태 ..................: 0.00%
- 익스텐트 스캔 조각화 상태 ...................: 82.35%
- 페이지 당 사용 가능한 평균 바이트 수.....................: 138.6
- 평균 페이지 밀도(전체).....................: 98.29%
DBCC 실행이 완료되었습니다. DBCC에서 오류 메시지를 출력하면 시스템 관리자에게 문의하십시오.
}}}

==== 결과의 해석 ====
||항목||설명||
||스캔한 페이지||1페이지 = 8KB 이므로 스캔한 페이지는 800KB||
||스캔한 익스텐트||익스텐트 = 1페이지 * 8 이므로 17 * 8KB * 8 = 1088 KB||
||전환된 익스텐트||익스텐트를 스캔하면서 익스텐트와 익스텐트 사이를 옮겨간 횟수를 의미.||
||익스텐트 당 평균 페이지 수||하나의 익스텐트는 8개의 페이지라고 볼 수 있는데 익스텐트가 조각나서 하나의 익스텐트에 평균 5.9개의 페이지가 있는 것||
||스캔밀도||스캔밀도가 100% 이면 조각난 상태가 아니며 100% 미만이면 그 만큼 조각난 상태. 그러므로 위의 경우 약 25%가 조각난 상태라고 볼 수 있다.|| 
||논리 스캔 조각화 상태||논리적인 조각화 상태를 의미합니다. 삽입, 갱신 등의 DML문에 의해서 인덱스의 트리구조가 전환된 것을 의미.||
||익스텐트 스캔 조각화 상태||인덱스의 잎 페이지 스캔에서 순서가 바뀐 익스텐트의 비율.||
||페이지 당 사용 가능한 평균 바이트 수||하나의 페이지는 최대 8060바이트가 저장될 수 있다. 이것은 페이지들이 사용할 수 있는 가용 페이지의 공간을 의미.||
||평균 페이지 밀도(전체)||스캔한 페이지의 조각화 상태. 100%이면 조각난 상태가 아니며, 100% 미만이면 조각난 상태.||
 
2005버전에서 실제의 응용은 [인덱스 유지보수(재생성 or 조각모음)]을 참고하라.