책에서 발췌한 내용입니다.
유용하게 사용할수 있을것 같네요~~~
select OBJECT_NAME (s.object_id) as 'Table Name',i.name as 'Index Name', i.index_id, user_updates as 'Total Writes',user_seeks + user_scans + user_lookups as 'Total Reads', user_updates - (user_seeks + user_scans + user_lookups) as 'Difference'
from sys.dm_db_index_usage_stats as s
inner join sys.indexes as i
on s.object_id = i.object_id and i.index_id = s.index_id
where OBJECTPROPERTY (s.object_id,'IsUserTable') = 1
and s.database_id = DB_ID()
and user_updates > (user_seeks + user_scans + user_lookups)
order by 'Difference' desc,'Total Writes' desc, 'Total Reads' asc;
인덱스는 읽기작업을 보다 효율적으로 하기 위한 하나의 방법이죠..
허나 읽기작업보다 쓰기작업,변경작업이 많은 인덱스는 한번 삭제할 필요가 있는지 검토해 보는것도 좋습니다.
그리고 대용량 데이터베이스에서는 일정한 기간을 정하여 공간절약과 성능 향상을 위해 인덱스들을 리빌드하여
주는것도 좋은 한 방법이 되겠습니다~ㅋ
'MS SQL > Tip' 카테고리의 다른 글
오라클의 LEAD,LAG함수 MSSQL에선 이렇게 응용 (0) | 2015.09.14 |
---|---|
공백을 기준으로 문자열 자르기[MSSQL] (0) | 2015.09.14 |