반응형
아래 스크립트는 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
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
, 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
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
반응형
'연구개발 > DBA' 카테고리의 다른 글
SQL 2005 성능 문제 해결 한글 문서 (0) | 2009.07.28 |
---|---|
Troubleshooting Performance Problems in SQL 2005 (0) | 2009.07.28 |
DMV - 재사용이 저조한 실행 계획 찾아내기 (0) | 2009.07.28 |
Web Application Stress Tool (0) | 2009.07.28 |
Statment 타입별 실행 빈도 및 리소스 사용량 확인 (0) | 2009.07.27 |