另一种方法,你可以检测缺失索引DMV,找出SQL Server最近启用时这些查询引用的所有对象。DMV提供了检测所有对象缺失索引的最简便的方式,这种方法比检测每个查询的XML执行计划要好得多。 SQL Server 2005还存在以下的缺失索引动态管理视图: • Sys.dm_db_missing_index_group_stats • Sys.dm_db_missing_index_groups • Sys.dm_db_missing_index_details • Sys.dm_db_missing_index……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
另一种方法,你可以检测缺失索引DMV,找出SQL Server最近启用时这些查询引用的所有对象。DMV提供了检测所有对象缺失索引的最简便的方式,这种方法比检测每个查询的XML执行计划要好得多。
SQL Server 2005还存在以下的缺失索引动态管理视图:
• Sys.dm_db_missing_index_group_stats • Sys.dm_db_missing_index_groups • Sys.dm_db_missing_index_details • Sys.dm_db_missing_index_columns |
sys.dm_db_missing_index_group_stats DMV返回每个缺失索引估计的性能一旦实施就提供的改良信息的统计。DMV通过用"group_handle"识别缺失索引。它还可以通过相同的列和sys.dm_db_missing_index_groups动态管理视图进行连接,这个列中只包含每个缺失索引的group handle和index handle。在SQL Server 2005中,每个index group都指定了一个单一的缺失索引。
Sys.dm_db_missing_index_group_stats返回用户查询和系统查询的次数,它们都受益于那些用户和系统查询的缺失索引和改良。
sys.dm_db_missing_index_columns DMV返回缺失索引列、列名和ID,并且默认index handle为其参数。该DMV还详细说明了查询是怎样引用这些列的:等式谓词、不等式谓词或涵盖列。
在用sys.dm_db_missing_index_columns动态管理视图创建有用的索引时,你应该用等式和不等式谓词作为索引键。你可以用到以下查询,如检索缺失索引列并确定是不是每个列都应该用作索引键或涵盖列。
SELECT index_handle, column_name, CASE WHEN column_usage IN ('EQUALITY', 'INEQUALITY') THEN 'index_key' WHEN column_usage = 'INCLUDE' THEN 'included_column' END AS column_usage FROM sys.dm_db_missing_index_groups a CROSS APPLY sys.dm_db_missing_index_columns (a.index_handle) |
简单结果:
index_handle | column_name | column_usage |
1 | TimeKey | index_key |
1 | CurrencyKey | included_column |
1 | AverageRate | included_column |
1 | EndOfDayRate | included_column |
1 | full_date | included_column |
注:sys.dm_db_missing_index_columns返回的A列标识符显示该表中列的排列顺序——但是它并不提供有关缺失索引键的顺序。
作者
Baya Dewald,数据库咨询师,主要帮助客户用SQL Server和Analysis Services开发高可用的和升级应用软件。在他的职业生涯中,他负责过管理过数据库管理员团队等工作。Baya主要专攻领域有:性能调优、复制和数据仓储。你可以通过baya@bayasqlconsulting.com跟他联系。
翻译
相关推荐
-
优化T-SQL提升SQL Server数据库性能
本文中提供了八种优化T-SQL代码避免SQL Server数据库性能瓶颈的技巧,我们可以据此优化数据库应用。
-
利用SQL DMV管理SQL Server数据库
在SQL Server 2005中,微软公司引入了SQL 动态管理视图(简称DMV),还引入了动态管理函数(简称DMF)。
-
SQL Server开发人员需要避免的八种习惯
应用程序开发人员对SQL Server性能的影响是巨大的,可能是积极影响,也可能负面影响。
-
提高SQL Server扩展性:合理虚拟化
如果你准备花费大量资金购买新的服务器硬件,结合一些资源共享规划(如集群或虚拟化)是非常有意义的。