0

인덱스를 재구성하고 다시 구성하는 방법에 대한 정보를 수집하려고했습니다.인덱스를 다시 작성하고 언제 다시 구성해야합니까?

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. Table and fill factor Table Structure Table output Fragmentation after rebuid

+0

시도 그것을 설명했다. 다시 작성한 결과에 따라 채우기 비율을 조정해야하는 것처럼 들립니다. – JStead

+0

@JStead : 스크린 샷을 업로드했습니다. 채우기 비율은 0입니다. – user2438237

+0

이 통계는 매우 작은 스키니입니다. 각 단계에서 5의 덩어리로 채우기 비율을 95에서 약 70로 낮추어 색인을 다시 작성하십시오. 이 테이블의 크기가 얼마나 작은지를 토대로 10-20 %의 단편화 범위에 도달하면 임무가 완료되었다고 말할 수 있습니다. – JStead

답변

1

문제로 증가했다. 모든 포인터 ?? 이것이 정상적인 행동이라면 무엇을 내가 여기에서 빠져나요 ??

색인이 작은 경우 정상적인 현상입니다. 인덱스가 page_cont < 인 경우 재구성 후 페이지는 일정한 범위에서 할당되지 않지만 인덱스가 큰 페이지는 정보 범위에서 할당됩니다. 혼합 된 범위에서 할당 된 페이지로 인해 조각화가 증가 할 수 있습니다. 그러나 그러한 분열은 어떠한 부작용도 일으키지 않을 것이다.

페이지가 혼합 범위에서 할당되는 경우 특정 IAM 체인에 페이지를 할당 할 수 있습니다. 이는 페이지가 8 개의 별도 IAM에 할당 된 페이지를 보유 할 수 있음을 의미합니다. 따라서 그들은 뿔뿔이 흩어져 어디에나있을 수 있으므로 논리적 인 단편화를 일으킬 수 있습니다.

나는이 문서에서 자세한 내용의 테이블의 채우기 비율뿐만 아니라 테이블 레이아웃을 게시 할 수 Why is my index still fragmanted after rebuild

관련 문제