인덱스 유지 관리에 Ola Hallengrens 스크립트를 사용합니다. 이를 수행하기 전에 다음 쿼리를 사용하여 가장 조각난 인덱스를 확인했습니다.
SELECT dbschemas.[name] as 'Schema',
dbtables.[name] as 'Table',
dbindexes.[name] as 'Index',
indexstats.avg_fragmentation_in_percent,
indexstats.page_count
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
INNER JOIN sys.tables dbtables on dbtables.[object_id] = indexstats.[object_id]
INNER JOIN sys.schemas dbschemas on dbtables.[schema_id] = dbschemas.[schema_id]
INNER JOIN sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id]
AND indexstats.index_id = dbindexes.index_id
ORDER BY indexstats.avg_fragmentation_in_percent desc
내 경우, avg_fragmentation 끝났다 70 % 에 대한 15 개 인덱스 이상 30 % 에 대한 28 개 인덱스.
그래서 Ola Hallengren의 솔루션을 사용하여 모든 색인을 다시 작성합니다. 쿼리를 다시 실행했을 때의 결과는 다음과 같습니다.
이상 분열 70 % 에 대한 12 개 인덱스, 이상 30 % 에 대한 15 개 인덱스.
나는 그 이유 page_count
가 여전히 매우 조각화 된 각 인덱스에 대해 1000보다 낮았 기 때문이라고 생각했습니다 . 예를 들어, page_count
967 의 인덱스 중 하나의
조각화 비율은 98,98 %입니다 ! 나에게, 그 지수를 재건 할 가치가있는 것 같습니다! 나는 그 후에 조각화가 0 %였다 . 또한 page_count
132 의 지수 는 95 % 에서 0 %로 증가했습니다.
그래서 내 질문은 인덱스를 다시 작성하지 않는 이유는 무엇입니까? 한 가지 이유는 재건에 시간과 자원이 필요하지만 색인이 작기 때문에 이것이 상대적으로 자원이 적다는 것을 의미하지 않습니까? 그래도 재건하는 것이 유리한가요?
이 사이트에는 여러 가지 관련 질문이 있지만 모두 색인이 조각 모음되지 않는 이유 또는 색인이 작고 조각 모음을하지 않은 경우 색인이 여전히 유용한 지에 대한 질문에 대답합니다. 문제는 어쨌든 어떻습니까?