尽管盲目创建建议的缺失索引不太理想,但有没有办法从 SQL Server Management Studio 的“执行计划”选项卡中复制和粘贴建议的缺失索引?
鼠标悬停在它上面时,您会得到一个工具提示,但似乎没有右键单击菜单复制它们。多年来,我只是输入了我需要的任何内容,但很好奇是否可以从选项卡中轻松获取基本表格。
使用 SSMS 2017
您可以使用右键单击功能,但它是有限的。不仅仅是因为,就像你提到的,缺失的索引请求有点蹩脚,还因为它只会向你展示一个,而且它表明你可能不是最好的。
拿这个查询:
SELECT COUNT(*) AS records
FROM dbo.Votes AS v
JOIN dbo.Comments AS c
ON v.PostId = c.PostId
WHERE c.Score > 1
AND v.CreationDate >= '2008-01-01';
Run Code Online (Sandbox Code Playgroud)
当我运行它并查看查询计划时,会列出一个缺失的索引请求,估计影响约为 16%。
但是,如果我进入 XML,还有另一个估计影响更大的请求:
如果您想查看计划中所有缺失的索引请求,则需要在 SSMS 之外进行。
免费工具,如SentryOne Plan Explorer和我贡献的开源脚本sp_BlitzCache将列出 XML 中所有缺失的索引请求。
在 sp_BlitzCache 中,缺失的索引 XML 列是可点击的:
EXEC dbo.sp_BlitzCache @DatabaseName = 'StackOverflow2010'
并会显示如下信息:
所以你可能不想依赖 SSMS 和右键单击。它可能对你隐藏了很多信息。
归档时间: |
|
查看次数: |
3118 次 |
最近记录: |