Инструмент для сравнения планов запросов SQL Server?

Кто-нибудь знает инструмент, который можно использовать для сравнения (относительно сложных) планов запросов? Я не ищу руководство для планов запросов, а просто инструмент, который позволяет мне быстро увидеть, например. использование разных индексов.

РЕДАКТИРОВАТЬ: только для того, чтобы это было ясно, я не ищу информацию о плане, но инструмент, который может быстро указать различия между двумя планами (я знаю, я мог бы это сделать я сам, но размер плана (ов) затрудняет).

Ответы

Ответ 1

Я не знаю готового инструмента для этого, просто если вы используете SET SHOWPLAN_XML ON, чтобы получить планы в формате XML, вы можете их легко отформатировать в Visual Studio, а затем сравнить с вашим любимым инструментом сравнения текста.

И вы также можете щелкнуть правой кнопкой мыши по плану в SSMS и выбрать Save Execution Plan as... для сохранения в файл.

Ответ 2

Существует инструмент под названием PICASSO - http://dsl.serc.iisc.ernet.in/projects/PICASSO/index.html, который имеет возможность сравнивать 2 плана запросов, если вопросы совпадают, но с различные селективности.

Чтобы сгенерировать разницу в плане, можно использовать в вашем случае, поскольку он свободно доступен.

Ответ 4

Я вообще просто сравниваю планы выполнения с инструментом сравнения текста - я также считаю, что для сложных планов полезно посмотреть на исходный Xml плана только для возможности поиска индекса/таблицы, чтобы увидеть, где он появляется в план.