지수 단편화 개요
지수 단편화란 무엇이며 왜 이에 집중해야 하는지: 단편화는 인덱스의 논리적 순서(인덱스의 키 값을 기반으로 함)가 인덱스 페이지, 인덱스 페이지, 인덱스 페이지, 인덱스 내 페이지의 물리적 순서와 일치하지 않을 때 발생합니다. 기본 데이터에 삽입, 업데이트 또는 삭제 작업이 수행될 때마다 데이터베이스 엔진은 자동으로 인덱스를 수정합니다. 예를 들어, 테이블에 행을 추가하면 분할된 행이 기존 페이지를 인덱스에 저장하여 새로운 키를 삽입할 공간을 만들 수 있습니다. 시간이 지남에 따라 이러한 수정으로 인해 인덱스 내 정보가 데이터베이스 내에서 흩어져 (조각 포함) 발생할 수 있습니다. 단편화는 인덱스에 포함된 페이지의 논리적 순서(키-값을 기준)가 데이터 파일의 물리적 순서와 일치하지 않을 때 발생합니다. 많은 수의 단편화된 인덱스는 인덱스가 가리키는 데이터를 찾기 위해 추가적인 I/O가 필요해 쿼리 성능을 저하시킬 수 있습니다. 더 많은 입출력 작업은 특히 스캔 작업이 포함될 때 애플리케이션의 반응 속도를 늦출 수 있습니다.
데이터베이스 인덱스 단편화 확인
명령:
디프글 처리에는 두 가지 방법이 있습니다: 인덱스를 재조직하고 재생성하는 것으로, 인덱스 재구축은 트랜잭션 내에서 기존 인덱스를 삭제하고 새 인덱스를 재구성하는 것을 의미하며, 이는 원래 인덱스의 하드 디스크 공간을 되찾고 새로운 저장 공간을 할당하여 인덱스 구조를 만듭니다. 인덱스 재조직은 새로운 저장 공간을 할당하지 않고, 인덱스 구조의 리프 노드를 원래 공간을 기반으로 재조직하여 데이터 페이지의 논리적 순서와 물리적 순서가 일관되게 만들고, 인덱스 내 초과 공간을 해제하는 것을 의미합니다.
함수 sys.dm_db_index_physical_stats을 사용하여 단편화 정도, 필드 avg_fragmentation_in_percent 반환된 논리 조각의 비율을 감지하세요. 일반적으로 Microsoft는 30%의 임계값을 권장합니다:
avg_fragmentation_in_percent >5% 및 <=30%: 지수 재조직; avg_fragmentation_in_percent >30%: ALTER INDEX 재건;
avg_fragmentation_in_percent: 지수 단편화 비율, 단편이 10%~20% 미만이면 단편 문제는 발생하지 않을 것입니다.지수 단편화가 20%~40%일 경우 단편화가 문제가 될 수 있습니다지수 해상도는 지수 재조직을 통해 제거할 수 있으며, 대규모 단편화(단편화가 40%를 초과할 경우)는 지수 재구성이 필요할 수 있습니다.
주어진 테이블의 모든 인덱스에 대한 단편화 정보를 조회합니다
테이블 재인덱싱
전체 데이터베이스의 모든 테이블 인덱스를 다시 작성하세요
리소스:하이퍼링크 로그인이 보입니다.
|