热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » MySQL/MSSQL编程 » SQL Server 2005 显示索引使用情况

SQL Server 2005 显示索引使用情况

论坛链接
  • SQL Server 2005 显示索引使用情况
  • 发布时间:2008-10-07 17:19:07    浏览数:6206    发布者:sunhw0725    设置字体【   
与查询性能调优相似,在数据库中创建有用的索引经常是艺术和科学的结合。在加速SELECT查询的同时,索引减慢了数据的修改。必须平衡读取活动与数据修改活动带来的索引开销的代价/受益。每一个增加到表中的索引都会以数据修改速度为代价改善查询性能。在这之上,索引的效能会随着数据的改变而改变,由此几个星期前索引还是有用的,今天可能就没用了。在SQL Server 2000中最大的困难之一是找出哪一个索引没被使用——从来都不使用或很少使用。这是重要的,因为增加索引减慢更新速度。如果想在表中创建索引,则它们应该在高优先级的查询中很好地使用。如果SQL Server没有使用某个索引,它就是静负荷。

现在在SQL Server 2005中,可以通过查询动态管理视图sys.dm_db_index_usage_stats查看索引是否被使用。这个视图从SQL Server实例上次重启以后返回有关索引查找、扫描、更新或查找的次数的统计信息。它也返回引用索引的最后的时间。

在这个示例中,查询动态管理视图sys.dm_db_index_usage_stats去查看表Sales.Customer中的索引是否被使用过。在引用sys.dm_db_index_usage_stats之前,要在表Sales.Customer上执行两个查询,第一个返回所有的行和列,第二个返回具有指定的TerritoryID的列AccountNumber:



在执行完查询之后,查询动态管理视图sys.dm_db_index_usage_stats:



它返回:



解析

动态管理视图sys.dm_db_index_usage_stats允许查看SQL Server实例使用了哪个索引。在最后一次SQL Server重启之后统计信息才生效。

在这个技巧中,在表Sales.Customer上执行两个查询。在执行完查询后,查询动态管理视图sys.dm_db_index_usage_stats。

SELECT子句显示了索引的名称、用户查找和用户扫描的次数以及用户最后查找和最后扫描的时间:



FROM子句通过object_id和index_id将动态管理视图sys.dm_db_index_usage_stats联结到系统目录视图sys.indexes上(所以索引名应该显示在结果中):



WHERE子句限定只显示数据库AdventureWorks上的索引以及表Sales.Customer上的索引。DB_ID函数用来返回数据库系统ID,OBJECT_ID函数用来得到表的对象ID:



查询返回两行,显示表Sales.Customer的聚集索引PK_Customer_CustomerID最近被访问过(很可能是通过第一个SELECT *查询),并且第二个查询(限定了TerritoryID = 4)使用了非聚集索引IX_Customer_TerritoryID。

索引帮助提高了查询性能,但也增加了磁盘空间和数据修改的开销。使用动态管理视图sys.dm_db_index_usage_stats,可以监视索引是否真的被使用,如果没有,则把它们替换为更有效的索引。
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理