티스토리 뷰

출처: DBGuide
다음 쿼리를 응용하시면 사용하지 않는 인덱스를 쉽게 찾아 낼 수 있습니다. 아래 쿼리는 적어도 최근 15일간 사용이 없는 인덱스와 통계를 찾아내는 쿼리입니다.

/*
     테이블별 인덱스에 대한 통계가 마지막으로 업데이트된 날짜 찾기
     이종희 2003.10.
     정원혁 2004.8.
*/
SELECT USER_NAME( OBJECTPROPERTY( i.id, 'OwnerID' ) ) AS Owner
     , OBJECT_NAME( i.id ) AS [Table]
     , i.name AS [Index]
     , CASE INDEXPROPERTY( i.id , i.name , 'IsClustered')  WHEN 1 THEN 'Y'  ELSE ''   END AS IsClustered
     , CASE INDEXPROPERTY( i.id , i.name , 'IsUnique'    )  WHEN 1 THEN 'Y'  ELSE ''   END AS IsUnique
     , STATS_DATE( i.id , i.indid ) AS LastUpdatedDate
     , dPages * 8. /1024 AS MB
  FROM sysindexes AS i
 WHERE OBJECTPROPERTY( i.id, 'IsMSShipped' ) = 0 
   AND 1 NOT IN (INDEXPROPERTY(i.id , i.name , 'IsStatistics')
                ,INDEXPROPERTY(i.id , i.name , 'IsAutoStatistics')
		,INDEXPROPERTY(i.id , i.name , 'IsHypothetical'))
   AND i.indid BETWEEN 1 And 250
-- AND dPages > 100 --작은 크기 테이블 무시
   AND (STATS_DATE( i.id , i.indid ) < getdate() - 15 --15일 이전까지도 업데이트 안된 것
    OR STATS_DATE( i.id , i.indid ) IS NULL) 
 ORDER BY Owner, [Table], [Index]


'WEB TIP > MS-SQL' 카테고리의 다른 글

MS-SQL 암호변경 프로시저  (0) 2008.04.10
WITH(???LOCK) 옵션  (0) 2008.01.10
Transact SQL 최적화 팁  (0) 2007.11.21
인덱스  (0) 2007.10.30
연령별 집계  (0) 2007.04.30
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함