인덱스를 재구성하고 다시 구성하는 방법에 대한 정보를 수집하려고했습니다.인덱스를 다시 작성하고 언제 다시 구성해야합니까?
SELECT
t.NAME 'Table name',
i.NAME 'Index name',
ips.index_type_desc,
ips.alloc_unit_type_desc,
ips.index_depth,
ips.index_level,
ips.avg_fragmentation_in_percent,
ips.fragment_count,
ips.avg_fragment_size_in_pages,
ips.page_count,
ips.avg_page_space_used_in_percent,
ips.record_count,
ips.ghost_record_count,
ips.Version_ghost_record_count,
ips.min_record_size_in_bytes,
ips.max_record_size_in_bytes,
ips.avg_record_size_in_bytes,
ips.forwarded_record_count
FROM
sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') ips
INNER JOIN
sys.tables t ON ips.OBJECT_ID = t.Object_ID
INNER JOIN
sys.indexes i ON ips.index_id = i.index_id AND ips.OBJECT_ID = i.object_id
WHERE
AVG_FRAGMENTATION_IN_PERCENT > 0.0
ORDER BY
AVG_FRAGMENTATION_IN_PERCENT, fragment_count
문제는 내가 인덱스를 재 구축 할 때 avg_fragmentation_in_percent가 감소하는 대신 증가한다는 것입니다 : 유래 페이지 (How Often should the indexes be re-build in sql-server DB?)에서 나는이 쿼리를 얻었다. 모든 포인터 ?? 이것이 정상적인 행동이라면 무엇을 내가 여기에서 빠져나요 ??
이전 avg_fragmentation_in_percent 30이고 재구성 후 내가 인덱스를 재구성 할 때 avg_fragmentation_in_percent가 감소하지 않고 증가이다 66.
시도 그것을 설명했다. 다시 작성한 결과에 따라 채우기 비율을 조정해야하는 것처럼 들립니다. – JStead
@JStead : 스크린 샷을 업로드했습니다. 채우기 비율은 0입니다. – user2438237
이 통계는 매우 작은 스키니입니다. 각 단계에서 5의 덩어리로 채우기 비율을 95에서 약 70로 낮추어 색인을 다시 작성하십시오. 이 테이블의 크기가 얼마나 작은지를 토대로 10-20 %의 단편화 범위에 도달하면 임무가 완료되었다고 말할 수 있습니다. – JStead