博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

sql server性能分析--索引使用效率评估

Posted on 2009-07-24 22:05  linFen  阅读(464)  评论(0编辑  收藏  举报
 dmv分析索引的使用情况,包括扫描次数,更新次数,有利于你评估设计的索引使用效率,sql server 2005的确比2000在性能分析上提高很多。

 user_seeks : 通过用户查询执行的搜索次数。 
 个人理解: 此统计索引seek的次数

user_scans: 通过用户查询执行的扫描次数。 
 个人理解:此统计表扫描的次数,无索引配合
user_lookups: 通过用户查询执行的查找次数。 
 个人理解:用户通过索引查找,在使用RID或聚集索引查找数据的次数,对于堆表或聚集表数据而言
和索引配合使用次数

user_updates:  通过用户查询执行的更新次数。 
 个人理解:索引或表的更新次数

 

--- 使用很少的索引排在最先
declare @dbid int
select @dbid = db_id()
select objectname=object_name(s.object_id), s.object_id, indexname=i.name, i.index_id
            , user_seeks, user_scans, user_lookups, user_updates
from sys.dm_db_index_usage_stats s,
            sys.indexes i
where database_id = @dbid and objectproperty(s.object_id,'IsUserTable'= 1
and i.object_id = s.object_id
and i.index_id = s.index_id
order by (user_seeks + user_scans + user_lookups + user_updates) asc