안녕하세요^^
Clustered Index에 관련하여 문의드릴 것이 있습니다.
제가 서버를 관리하고 있는데 ScanDensity(15% 이하)와 LogicalFragmentation 값(99%이상) 이 좋지 않은 테이블이 있습니다.
현재 이 테이블에는 Clustered Index 가 있는데요
1주일에 한 번씩 Reorg가 아닌 Rebuild로 인덱스를 재생성하는데에도
테이블 상태가 좋지 않습니다.
row 수는 3,800,000에 가까운 것도 있으며, 10.000 정도인 테이블도 있습니다.
왜 Rebuild를 매주 하는데에도 상태가 좋아지지 않을까요?
참고로 통계 업데이트는 1달에 한번씩 하고 있습니다.
답변을 기다립니다.
감사합니다.
Comment 1
-
여우비™
2013.10.31 15:54
해결점은 찾으셨나요?
문제를 해결하는 것 보다는 운영을 잘 하는 쪽으로 방향을 맞춰야 하지 않을까 싶습니다.
ScanDensity가 15% 이하고, LogicalFregmentation이 99%면 단편화가 심하게 발생하네요.
일단 테이블의 데이터 패턴을 파악하셔야 할 것 같습니다. 검색밀도와 논리 조각화 상태로 봐서는 1주일을 기준으로 많은 양의 데이터가 적재되었다가 대부분 데이터가 지워지는 구조의 테이블일 가능성이 높은데요..
매일 showcontig를 이용하여 상태를 점검하여 실제 페이지수와 익스텐트수를 비교해 보시고, 할당된 물리공간에서 단편화가 발생을 하는지를 점검해 보시기 바랍니다.
음. 그리고 데이터가 380만건 정도의 테이블이고 성능상 문제가 된다고 한다면 Index Rebuild하는 텀을 줄여 보시는 것이 어떨까 싶네요. 대신 평균 페이지 밀도를 약 7~80%정도로 조절하여 여유공간을 두시는 것을 하나의 방법입니다.
DBCC DBREINDEX('테이블명', PK_Constraint, 80);