728x90
조각화 검색
다음 예에서는 sys.dm_db_index_physical_stats
동적 관리 함수를 쿼리하여 Production.Product
테이블의 모든 인덱스에 대한 평균 조각화를 반환합니다. 이전 테이블을 사용하여 PK_Product_ProductID
를 다시 구성하고 다른 인덱스를 다시 작성하는 것이 좋습니다.
USE AdventureWorks; GO SELECT a.index_id, name, avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats (DB_ID(), OBJECT_ID(N'Production.Product'), NULL, NULL, NULL) AS a JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id; GO |
1. 인덱스 다시 작성
다음 예에서는 단일 인덱스를 다시 작성합니다.
USE AdventureWorks; GO ALTER INDEX PK_Employee_EmployeeID ON HumanResources.Employee REBUILD; GO |
2. 테이블의 모든 인덱스 다시 작성 및 옵션 지정
다음 예에서는 ALL
키워드를 지정합니다. 이 키워드는 테이블에 연결된 인덱스를 모두 다시 작성합니다. 3개의 옵션이 지정됩니다.
USE AdventureWorks; GO ALTER INDEX ALL ON Production.Product REBUILD WITH (FILLFACTOR = 80, SORT_IN_TEMPDB = ON, STATISTICS_NORECOMPUTE = ON); GO |
3. 인덱스 다시 구성과 LOB 압축
다음 예에서는 단일 클러스터형 인덱스를 다시 구성합니다. 인덱스에 리프 수준의 LOB 데이터 형식이 포함되어 있으므로 해당 문은 LOB(Large Object) 개체 데이터를 포함하는 페이지도 모두 압축합니다. 기본값이 ON이기 때문에 WITH (LOB_Compaction) 옵션을 지정할 필요가 없습니다.
USE AdventureWorks; GO ALTER INDEX PK_ProductPhoto_ProductPhotoID ON Production.ProductPhoto REORGANIZE ; GO |
'데이터베이스 > SQL Server' 카테고리의 다른 글
MSSQL2005 사용자 계정추가 방법 (0) | 2008.04.28 |
---|---|
MSSQL2005에 등장한 각종 순위 함수 (0) | 2008.04.28 |
[MSSQL2005] CTE(공통 테이블 식) (0) | 2008.04.28 |
[MSSQL2005] 스키마테이블을 이용하여 테이블 정보 알아내기 (0) | 2008.04.28 |
특정 기간(datetime형식)을 주어 조회할 경우 주의 (0) | 2008.04.28 |