各位用户为了找寻关于SQL语句实现查询并自动创建Missing Index的资料费劲了很多周折。这里教程网为您整理了关于SQL语句实现查询并自动创建Missing Index的相关资料,仅供查阅,以下为您介绍关于SQL语句实现查询并自动创建Missing Index的详细内容
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31SELECT
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