Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
В этом разделе описывается сравнение сходств и различий между фактическими графическими планами выполнения с помощью функции сравнения планов SQL Server Management Studio. Эта функция доступна начиная с SQL Server Management Studio версии 16.
Примечание.
Фактические планы выполнения создаются после выполнения запросов Или пакетов Transact-SQL. Поэтому фактический план выполнения содержит сведения о времени выполнения, такие как фактическое число строк, фактические метрики использования ресурса и предупреждения времени выполнения (если они есть). Дополнительные сведения см. в статье Отображение фактического плана выполнения.
Возможность сравнить планы нужна специалистам по базам данных для устранения неполадок:
- Найти причину внезапного замедления запроса или пакета.
- Понять влияние переписывания запроса.
- Понаблюдать, как улучшение производительности в структуре схемы (например, новый индекс) изменило план выполнения.
Пункт меню Сравнение планов позволяет параллельно сравнить два разных плана выполнения для удобства определения сходств и изменений, которые объясняют отличия в поведении для всех указанных выше причин. Этот параметр позволяет сравнивать:
- два ранее сохраненных файла плана выполнения с расширением .sqlplan (
); - один активный план выполнения и один ранее сохраненный план выполнения запросов;
- два выбранных плана запроса в хранилище запросов.
Совет
Сравнение планов работает с любыми файлами формата .sqlplan, даже из более ранних версий SQL Server. Кроме того, этот параметр включает автономное сравнение, поэтому не требуется подключаться к экземпляру SQL Server.
При сравнении двух планов выполнения области плана, выполняющие одинаковые функции, выделены одним цветом или узором. Если вы нажмете на область одного цвета в одном плане, другой план будет центрирован по тому же узлу. Вы по-прежнему можете сравнивать непарные операторы и узлы в планах выполнения, но в этом случае необходимо вручную выбрать операторы для сравнения.
Внимание
Только узлы, которые меняют форму плана, используются для проверки сходства. Поэтому может быть узел, который не выделен цветом, между двумя узлами, входящими в один подраздел плана. Отсутствие цвета в данном случае означает, что узлы не были учтены при проверке равенства разделов.
Сравнение планов выполнения
Откройте ранее сохраненный файл плана выполнения запроса (.sqlplan) с помощью меню "Файл " и щелкните "Открыть файл" или перетащите файл плана в окно Management Studio. Кроме того, если вы только что выполнили запрос и выбрали показать его план выполнения, перейдите на вкладку План выполнения на панели результатов.
Щелкните правой кнопкой мыши в пустой области плана выполнения и выберите пункт Сравнить Showplan.
Выберите второй файл плана запроса для сравнения. Откроется второй файл, чтобы вы могли сравнить планы.
Сравниваемые планы откроются в новом окне, по умолчанию один будет расположен сверху, а другой снизу. По умолчанию будет выделено первое вхождение оператора или узла, которые присутствуют в обоих планах, но имеют различия. Все выделенные операторы и узлы существуют в обоих планах. Если вы выберете выделенный оператор в верхнем или левом плане, соответствующий оператор будет автоматически выбран в нижнем или правом плане. Если вы выберете оператор корневого узла в любом из сравниваемых планов (узел SELECT на рисунке ниже), будет выбран соответствующий оператор корневого узла в другом плане.
Совет
Вы можете переключить отображение сравнения планов выполнения на вид «бок о бок», щелкнув правой кнопкой мыши по пустой области плана выполнения и выбрав Переключить ориентацию разделителя.
Совет
Все параметры масштабирования и навигации для планов выполнения работают в режиме сравнения планов. Дополнительные сведения см. в статье Отображение фактического плана выполнения.
Справа, в области выбора по умолчанию, также откроется окно двойных свойств. Свойства, которые существуют в обоих сравниваемых операторах, но имеют различия, будут предшествовать не равному знаку (≠) для упрощения идентификации.
Окно сравнения Анализ Showplan также откроется в нижней части. В нем три вкладки:
- На вкладке Параметры инструкции по умолчанию выбрано Выделить аналогичные операции и один выделенный оператор или узел в сравниваемых планах отмечен одним цветом или линией. Кликните на узор лайма, чтобы перемещаться между схожими областями в сравниваемых планах. Вы также можете настроить выделение различий, а не сходств, выбрав Выделить операции, не совпадающие с аналогичными сегментами.
Примечание.
По умолчанию имена баз данных игнорируются при сравнении планов, чтобы была возможность сравнивать планы, захваченные для баз данных с разными именами, но содержащих одну и ту же схему. Например, при сравнении планов из баз данных ProdDB и TestDB. Это поведение можно изменить с помощью параметра Не учитывать имя базы данных при сравнении операторов.
Вкладка Несколько операторов полезна при сравнении планов с несколькими операторами, поскольку позволяет сравнивать правильную пару операторов.
На вкладке Сценарии вы найдете автоматический анализ некоторых из наиболее важных аспектов, касающихся различий в Оценке кардинальности в сравниваемых планах. Для каждого оператора, указанного на левой панели, на правой панели отображаются сведения о сценарии по ссылке Щелкните здесь, чтобы ближе познакомиться с этим сценарием., а также возможные причины, объясняющие этот сценарий.
Если это окно закрыто, щелкните правой кнопкой мыши на пустую область сравниваемого плана и выберите Параметры сравнения Showplan, чтобы открыть его повторно.
Для сравнения планов выполнения в хранилище запросов
В хранилище запросов найдите запрос с несколькими планами выполнения. Дополнительные сведения о сценариях хранилища запросов см. в разделе Сценарии использования хранилища запросов.
Используйте сочетание клавиши SHIFT и мыши, чтобы выбрать два плана для одного запроса.
Нажмите кнопку Сравнить планы выбранного запроса в отдельном окне, чтобы запустить сравнение планов. Затем применяются шаги 4–6 для сравнения планов выполнения.