Инструмент для сравнения планов запросов SQL Server? [закрыто
-
18-09-2019 - |
Вопрос
Кто -нибудь знает о инструменте, который можно использовать для сравнения (относительно сложных) планов запросов? Я не ищу руководства по планам запросов, а просто инструмент, который позволяет мне быстро увидеть, например, различное использование индекса.
РЕДАКТИРОВАТЬ: Просто чтобы прояснить, я не ищу информацию о плане, но инструмент, который может быстро указать на различия между двумя планами (я знаю, я мог бы сделать это сам, но размер плана состоит из это сложно).
Решение
Я не знаю об этом готовом инструменте, если вы используете SET SHOWPLAN_XML ON
Чтобы получить планы в формате XML, вы можете довольно форматировать их в Visual Studio, а затем сравнить с вашим любимым инструментом сравнения текста.
И вы также можете щелкнуть правой кнопкой мыши на план в SSMS и выбрать Save Execution Plan as...
Сохранить в файл.
Другие советы
Есть инструмент под названием Picasso - http://dsl.serc.iisc.ernet.in/projects/picasso/index.html который имеет возможность сравнить 2 плана запросов, при условии, что запросы одинаковы, но с различными селективными характеристиками.
Для создания различий в плане можно использовать в вашем случае, так как он свободно доступен.
Я нахожу это SQL Sentry Plan Explorer (бесплатно) - это полезный инструмент, анализирующий запросы, а также сравнивает их, как выделено в этот пост в блоге.
Как правило, я просто сравниваю планы выполнения с инструментом сравнения текста - я также считаю, что для сложных планов полезно взглянуть на необработанный XML плана только для возможности поиска индекса / таблицы, чтобы увидеть, где он появляется в плане.