검색결과 리스트
글
테이블 조각화
DBCC SHOWCONTIG는 테이블의 조각화 여부를 확인합니다. 테이블 조각화는 테이블에서 INSERT, UPDATE, DELETE 문 등의 데이터 수정 문을 처리할 때 발생합니다. 이러한 수정 사항은 테이블의 행에서 균등하게 분산되지 않으므로 각 페이지의 사용률 수준이 시간에 따라 달라지게 됩니다. 테이블의 일부 또는 전부를 검색하는 쿼리의 경우 이런 테이블 조각화로 인해 읽어야 하는 페이지의 수가 늘어날 수 있으며 이는 데이터의 병렬 검색에 방해가 됩니다.
인덱스가 심하게 조각화된 경우에는 다음의 방법으로 조각화를 줄일 수 있습니다.
클러스터형 인덱스를 삭제한 다음 다시 만듭니다.
클러스터형 인덱스를 다시 만들면 데이터가 재구성되어 완전한 데이터 페이지가 만들어집니다. 사용률 수준은 CREATE INDEX의 FILLFACTOR 옵션으로 구성할 수 있습니다. 이 방법의 단점은 삭제하거나 다시 만드는 동안 인덱스가 오프라인 상태라는 것과 작업의 원자성에 있습니다. 인덱스 생성이 중단되면 그 인덱스는 다시 만들어지지 않습니다.
인덱스의 리프 수준 페이지를 논리적인 순서로 다시 정렬합니다.
ALTER INDEX…REORGANIZE를 사용하여 인덱스의 리프 수준 페이지를 논리적 순서로 다시 정렬합니다. 이 작업은 온라인 작업이므로 문이 실행 중일 때 인덱스를 사용할 수 있습니다. 또한 이 작업은 완료된 작업의 손실 없이 중단할 수 있습니다. 이 방법의 단점은 클러스터형 인덱스를 삭제하거나 다시 만드는 방법만큼 데이터를 잘 구성하지는 못한다는 점입니다.
인덱스를 다시 작성합니다.
ALTER INDEX에 REBUILD를 사용하여 인덱스를 다시 작성합니다. 자세한 내용은 ALTER INDEX(Transact-SQL)를 참조하십시오.
결과 집합의 페이지당 사용 가능한 평균 바이트 수 및 평균 페이지 밀도(전체) 통계는 인덱스 페이지의 사용률을 나타냅니다. 임의 삽입이 많지 않은 인덱스의 경우 페이지당 사용 가능한 평균 바이트 수 값은 적고 평균 페이지 밀도(전체) 값은 커야 합니다. 인덱스를 삭제하고 FILLFACTOR 옵션을 지정하여 다시 만들면 통계 결과를 개선할 수 있습니다. 또한 FILLFACTOR를 고려하여 ALTER INDEX에 REORGANIZE를 사용하면 인덱스가 압축되어 통계 결과가 개선됩니다.
DBCC SHOWCONTIG (테이블, 인덱스) WITH FAST
-----------------------------------------------------------------
-- 검색한 페이지................................: 12410
-- 익스텐트 스위치..............................: 1710
-- 검색 밀도[최적:실제].......: 90.71% [1552:1711]
-- 논리 검색 조각화 상태 ..................: 99.69%
-----------------------------------------------------------------
ALTER INDEX 인덱스이름 ON 테이블이름
REORGANIZE;
DBCC SHOWCONTIG (테이블, 인덱스) WITH FAST
-----------------------------------------------------------------
-- 검색한 페이지................................: 12379
-- 익스텐트 스위치..............................: 1558
-- 검색 밀도[최적:실제].......: 99.29% [1548:1559]
-- 논리 검색 조각화 상태 ..................: 0.11%
-----------------------------------------------------------------
'-- MSSQL' 카테고리의 다른 글
Single User, Multi User 변환 (0) | 2009.08.31 |
---|---|
sp_detach_db, sp_attach_db (0) | 2009.08.29 |
DBCC SHOWCONTIG (0) | 2009.08.03 |
인덱스를 타지 않는 경우 (0) | 2009.08.03 |
Oracle vs MSSQL (0) | 2009.07.10 |
RECENT COMMENT