반응형

  아래 스크립트는 Missing Index를 확인하는 스크립트입니다.
 
  다음의 DMV 스크립트를 실행하여 얻어지는 결과가 인덱스 튜닝에 절대적인 가이드가 될 수는 없습니다만, 인덱스 튜닝에 있어서 힌트가 될 만한 정보라고 생각되어 스크립트를 올립니다.
 
다음 스크립트에 나오는 DMV들에 대한 자세한 내용은 SQL Server 2005 온라인 설명서를 참조 바랍니다.
 

SELECT

             d.*

             , s.avg_total_user_cost

             , s.avg_user_impact

             , s.last_user_seek

             ,s.unique_compiles

FROM    sys.dm_db_missing_index_group_stats s

                           ,sys.dm_db_missing_index_groups g

                           ,sys.dm_db_missing_index_details d

WHERE  s.group_handle = g.index_group_handle

                           and d.index_handle = g.index_handle

ORDER BY s.avg_user_impact DESC

GO

 
 
그리고 어떤 기능인지 궁금하신 분은 다음 스크립트를 따라해 보세요. 
 
use testdb
go
select top 3000000 identity(int, 1, 1) as seq, o1.OrderID,  o1.CustomerID, o1.OrderDate
into Tab
from Northwind..Orders o1 cross join Northwind..Orders o2
go
select d.*
  , s.avg_total_user_cost
  , s.avg_user_impact
  , s.last_user_seek
  ,s.unique_compiles
from sys.dm_db_missing_index_group_stats s
  ,sys.dm_db_missing_index_groups g
  ,sys.dm_db_missing_index_details d
where s.group_handle = g.index_group_handle
and d.index_handle = g.index_handle
order by s.avg_user_impact desc
go
select * from tab where seq = 100
go
select * from tab where seq = 100 and customerid <> 'TEST'
go
select d.*
  , s.avg_total_user_cost
  , s.avg_user_impact
  , s.last_user_seek
  ,s.unique_compiles
from sys.dm_db_missing_index_group_stats s
  ,sys.dm_db_missing_index_groups g
  ,sys.dm_db_missing_index_details d
where s.group_handle = g.index_group_handle
and d.index_handle = g.index_handle
order by s.avg_user_impact desc
go
 
반응형

+ Recent posts