블로그는 나의 힘!
[ Programing ]/Database2021. 5. 27. 11:43

-- 테이블 상태 조사
DBCC SHOWCONTIG ( [TABLE_NAME] );

 


 -- 가장 조각이 많이 난 인덱스 조사
SELECT TOP(10)
     DB_NAME() AS 'Database_Name', 
     OBJECT_NAME(SYS_DM.OBJECT_ID) AS 'Table_Name', 
     SYS_INDEX.NAME AS 'Index_Name', 
     ROUND(AVG_FRAGMENTATION_IN_PERCENT, 2) AS 'Fragmentation %' 
FROM SYS.DM_DB_INDEX_PHYSICAL_STATS(DB_ID(), NULL, NULL, NULL, NULL) AS SYS_DM
     INNER JOIN SYS.INDEXES AS SYS_INDEX
     ON SYS_DM.OBJECT_ID = SYS_INDEX.OBJECT_ID AND SYS_DM.INDEX_ID = SYS_INDEX.INDEX_ID
WHERE SYS_DM.DATABASE_ID = DB_ID() 
     AND SYS_INDEX.NAME IS NOT NULL 
     AND OBJECTPROPERTY(SYS_DM.OBJECT_ID, 'IsMsShipped') = 0
ORDER BY [Fragmentation %] DESC;

 

인덱스 리빌드는 소요되는 시간과 리소스가 인덱스 재구성에 비해 크며, 
일정 수준 이상의 조각화(약 30% 이상) 발생한 경우 인덱스 리빌드를 진행해야 인덱스 조각화를 해결.

 



참고 : 

[SQL Server] 인덱스 재구성 vs 인덱스 리빌드 차이 한 눈에 이해하기 (tistory.com)

 

[SQL Server] 인덱스 재구성 vs 인덱스 리빌드 차이 한 눈에 이해하기

안녕하세요. 이번 시간에는 SQL Server의 인덱스 재구성(Reorganize)과 리빌드(Rebuild)의 차이에 대해서 알아보도록 하겠습니다. 지난 포스팅에서 I/O의 단위가 되는 페이지에 새로운 데이터가 추가될

datalibrary.tistory.com

[MSSQL] 인덱스 리빌드 : 네이버 블로그 (naver.com)

 

[MSSQL] 인덱스 리빌드

1. 인덱스 리빌드 (1) 이유 조각화는 디스크상에 페이지들이 연속적으로 위치해 있지 않고 공간을 두고 떨...

blog.naver.com

 

꿈꾸는 개발자, DBA 커뮤니티 구루비 (gurubee.net)

 

인덱스 재구축(REBUILD) 및 병합(COALESCE)

재구축(Rebuild)이 필요한 상황   - 기존 인덱스를 다른 테이블스페이스로 이동해야 할 경우   - 인덱스가 삭제된 엔트리를 많이 포함하..

www.gurubee.net

 

'[ Programing ] > Database' 카테고리의 다른 글

MS-SQL UPDATE STATISTICS 통계 업데이트  (0) 2021.05.27
MS-SQL 인덱스 종류와 차이 설명 링크.  (0) 2021.05.27
MS-SQL 인덱스 조각 모음.  (0) 2021.05.27
MS-SQL Table Index 정리.  (0) 2021.05.27
MS-SQL 일일 수정.  (0) 2021.04.28
Posted by Mister_Q