用于比较SQL Server查询计划的工具?

时间:2009-11-06 09:41:34

标签: sql sql-server sql-execution-plan

有没有人知道可用于比较(相对复杂)查询计划的工具?我不是在寻找查询计划的指南,而只是一种工具,可以让我快速查看例如不同的索引使用。

编辑:为了说清楚,我不是在寻找有关该计划的信息,而是一个可以快速指出两个计划之间差异的工具(我知道,我可以做到这一点)我自己,但计划的规模很难实现。)

4 个答案:

答案 0 :(得分:10)

我不知道有一个现成的工具,只是如果你使用SET SHOWPLAN_XML ON获取XML格式的计划,你可以在Visual Studio中对它们进行漂亮格式化,然后与你喜欢的文本进行比较比较工具。

您也可以右键单击SSMS中的计划,然后选择Save Execution Plan as...保存到文件中。

答案 1 :(得分:4)

有一个名为PICASSO的工具 - http://dsl.serc.iisc.ernet.in/projects/PICASSO/index.html,它可以选择比较2个查询计划,只要查询相同但选择性不同。

生成计划差异可以在您的情况下使用,因为它是免费提供的。

答案 2 :(得分:3)

我发现SQL Sentry Plan Explorer(免费)是一个有用的工具,可以分析查询,并比较它们,如this blog post中所强调的那样。

答案 3 :(得分:0)

我通常只是将执行计划与文本比较工具进行比较 - 我还发现,对于复杂的计划,查看计划的原始Xml非常有用,因为它能够搜索索引/表以查看它在哪里出现计划。