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

前端之家收集整理的这篇文章主要介绍了SQL语句实现查询并自动创建Missing Index前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<div class="jb51code">
<pre class="brush:sql;">
SELECT

migs.avg_total_user_cost(migs.avg_user_impact/ 100.0) (migs.user_seeks + migs.user_scans) ASimprovement_measure,'CREATE INDEX[missingindex' + CONVERT(varchar,mig.index_grouphandle) + '' + 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

猜你在找的MsSQL相关文章