SQL语句实现查询并自动创建Missing Index

 更新时间:2015年07月07日 11:01:01   投稿:junjie  
这篇文章主要介绍了SQL语句实现查询并自动创建Missing Index,本文直接给出SQL实现脚本,需要的朋友可以参考下
SELECT
 
 migs.avg_total_user_cost*(migs.avg_user_impact/ 100.0) *(migs.user_seeks + migs.user_scans) ASimprovement_measure,
 
 'CREATE INDEX[missing_index_' + CONVERT(varchar, mig.index_group_handle) + '_' + CONVERT(varchar, mid.index_handle)
 
 + '_' + LEFT(PARSENAME(mid.statement, 1), 32) + ']'
 
 + ' ON ' + mid.statement
 
 + ' (' + ISNULL(mid.equality_columns,'')
 
  + CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columnsIS NOT NULL THEN ',' ELSE '' END
 
  + ISNULL(mid.inequality_columns, '')
 
 + ')'
 
 + ISNULL(' INCLUDE (' + mid.included_columns+ ')', '') AScreate_index_statement,
 
 migs.*, mid.database_id, mid.[object_id]
 
FROM sys.dm_db_missing_index_groups mig
 
INNER JOIN sys.dm_db_missing_index_group_statsmigs ON migs.group_handle= mig.index_group_handle
 
INNER JOIN sys.dm_db_missing_index_detailsmid ON mig.index_handle= mid.index_handle
 
WHERE migs.avg_total_user_cost *(migs.avg_user_impact /100.0) *(migs.user_seeks + migs.user_scans) > 10
 
ORDER BY migs.avg_total_user_cost* migs.avg_user_impact*(migs.user_seeks + migs.user_scans) DESC

相关文章

  • SQL Server:触发器实例详解

    SQL Server:触发器实例详解

    触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。本篇文章讲诉了SQL Server:触发器实例,有兴趣的可以了解一下。
    2016-12-12
  • SQL DNSlog注入实战

    SQL DNSlog注入实战

    DnsLog注入可以理解成是一种技巧,而不是一种攻击方式,是一种让无回显的攻击,变得有回显的方式,包括但不限于SQL盲注,这篇文章主要介绍了SQL DNSlog注入详解,需要的朋友可以参考下
    2023-05-05
  • SQL语句查询是否为空 =null及null

    SQL语句查询是否为空 =null及null

    SQL语句查询是否为空 =null及null实现代码。
    2009-06-06
  • SQL Server中调用C#类中的方法实例(使用.NET程序集)

    SQL Server中调用C#类中的方法实例(使用.NET程序集)

    这篇文章主要介绍了SQL Server中调用C#类中的方法实例(使用.NET程序集),本文实现了在SQL Server中调用C#写的类及方法,需要的朋友可以参考下
    2014-10-10
  • VS自带的SQL server修改密码并连接使用

    VS自带的SQL server修改密码并连接使用

    本文主要介绍了VS自带的SQL server修改密码并连接使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • sql中时间以5分钟半个小时任意间隔分组的实现方法

    sql中时间以5分钟半个小时任意间隔分组的实现方法

    这篇文章主要介绍了sql中时间以5分钟半个小时任意间隔分组的实现方法,在文中给大家提到了sql server时间查询的代码,需要的朋友可以参考下
    2019-06-06
  • SQL Server存储过程同时返回分页结果集和总数

    SQL Server存储过程同时返回分页结果集和总数

    这篇文章主要为大家详细介绍了SQL Server存储过程同时返回分页结果集和总数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • SQL 中having 和where的区别分析

    SQL 中having 和where的区别分析

    在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集
    2012-11-11
  • CentOS安装SQL Server vNext CTP1教程

    CentOS安装SQL Server vNext CTP1教程

    这篇文章主要为大家详细介绍了CentOS上安装SQL Server vNext CTP1的相关过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • sql 查询慢的原因分析

    sql 查询慢的原因分析

    sql 查询慢的48个原因分析。
    2009-07-07

最新评论