Графическое отображение планов выполнения (SQL Server Management Studio)

Среда SQL Server Management Studio является интерактивным графическим инструментом, который позволяет администратору или разработчику базы данных создавать запросы, выполнять несколько запросов одновременно, просматривать результаты, анализировать план запросов, а также предоставляет помощь, необходимую для улучшения производительности запросов. Параметры плана выполнения графически отображают способы получения данных, выбранные с помощью оптимизатора запросов SQL Server. Для графического отображения плана выполнения используются значки, представляющие выполнение определенных инструкций и запросов SQL Server вместо их табличного отображения, получаемого с помощью параметров SHOWPLAN_ALL или SHOWPLAN_TEXT инструкции SET языка Transact-SQL или с помощью XML-представления, получаемого при помощи инструкции SET SHOWPLAN_XML. Графическое отображение очень полезно для понимания показателей производительности запроса. Среда SQL Server Management Studio показывает, какой статистики не хватает, тем самым принуждая к оптимизации запросов за счет оценок качества выборки, а затем позволяет легко создать пропущенную статистику.

ms178071.note(ru-ru,SQL.90).gifПримечание.
Для зашифрованных хранимых процедур и триггеров планы выполнения не отображаются.

Использование параметров плана выполнения

Откройте или введите в редакторе запросов среды Management Studio сценарий на языке Transact-SQL, содержащий запросы, которые нужно проанализировать. После того как сценарий будет загружен в редактор запросов среды Management Studio, выберите, какой план выполнения показывать — расчетный или фактический, нажав кнопку Показать предполагаемый план выполнения или кнопку Включить фактический план выполнения на панели инструментов редактора запросов. Если щелкнуть кнопку Показать предполагаемый план выполнения, выполняется анализ сценария и формируется расчетный план выполнения. Если щелкнуть кнопку Включить действительный план выполнения, перед формированием плана выполнения необходимо выполнить сценарий. После того, как сценарий проанализирован и выполнен, выберите вкладку План выполнения, чтобы просмотреть графическое представление результатов формирования плана.

Чтобы воспользоваться графическими возможностями плана выполнения в среде Management Studio и параметрами SHOWPLAN инструкции SET языка Transact-SQL, пользователи должны обладать достаточными разрешениями на выполнение инструкций и запросов языка Transact-SQL. Также пользователи должны обладать разрешением SHOWPLAN на все базы данных, в которых содержатся упомянутые в запросах объекты. Дополнительные сведения см. в разделе Безопасность инструкции Showplan.

Графическое считывание результатов работы плана выполнения

Для просмотра плана выполнения перейдите на вкладку План выполнения на панели результатов. Графическое представление результатов работы плана выполнения в среде SQL Server Management Studio читается справа налево и сверху вниз. Каждый проанализированный запрос в пакете отображается вместе с затратами на его выполнение в процентном отношении от общих затрат на выполнение пакета. Дополнительные сведения о значках, используемых при отображении планов выполнения в Management Studio, см. в разделе Значки графических планов выполнения (среде SQL Server Management Studio).

Следующие описания являются руководством по интерпретации результатов графического отображения плана выполнения в среде Management Studio:

  • Каждый узел древовидной структуры представлен в виде значка, указывающего логический и физический оператор, используемый для выполнения этой части запроса или инструкции.

  • Каждый узел связан со своим родительским узлом. Дочерние узлы одного родительского узла отображаются в одном столбце. Однако все узлы в одном столбце не обязательно имеют общий родительский узел. Правила со стрелками на конце соединяют каждый узел с его родителем.

  • Операторы показаны в виде символов, связанных с определенным родительским узлом.

  • Ширина стрелки пропорциональна количеству строк. Если имеются данные о фактическом количестве строк, используются эти данные. В противном случае используется ориентировочное количество строк.

  • Если запрос содержит несколько инструкций, показывается несколько планов выполнения запроса.

  • Части древовидных структур определены типом выполняемой инструкции.

  • Для параллельных запросов, которые задействуют несколько процессоров, пункт меню Свойства для каждого узла в графическом плане выполнения отображает сведения об используемых потоках операционной системы. Чтобы просмотреть свойства узла, щелкните узел правой кнопкой мыши и выберите Свойства. Дополнительные сведения о параллельных запросах см. в разделе Параллельная обработка запросов.

    Тип инструкции Элемент древовидной структуры

    Язык Transact-SQL и хранимые процедуры

    Если инструкция является хранимой процедурой или инструкцией на языке Transact-SQL, она становится корнем древовидной структуры графического представления плана выполнения. Хранимая процедура может иметь несколько дочерних элементов, которые представляют собой инструкции, вызываемые хранимой процедурой. Каждый дочерний элемент — это узел или ветвь дерева.

    Язык обработки данных (DML)

    Если анализируемая с помощью оптимизатора запросов SQL Server инструкция является DML-инструкцией, такой как SELECT, INSERT, DELETE или UPDATE, она является корневым элементом дерева. DML-инструкции могут содержать до двух дочерних элементов. Первый дочерний элемент — это план выполнения этой DML-инструкции. Второй дочерний элемент представляет собой триггер, если триггер используется в инструкции.

    Условные

    Графический план выполнения делит условные инструкции, такие как IF...ELSE (при выполнении условия делать одно, в противном случае — что-то другое), на три дочерних элемента. Инструкция IF...ELSE является корнем дерева. Условие IF становится дочерним узлом. Условия THEN и ELSE представлены в виде блоков инструкций. Инструкции WHILE и DO-UNTIL представлены аналогичным образом. Инструкции IF и WHILE имеют собственные значки.

    Реляционные операторы

    Операции, выполняемые с помощью ядра запросов, такие как сканирование таблиц, соединения и статистические выражения, представлены в виде узлов дерева.

    DECLARE CURSOR

    Инструкция DECLARE CURSOR является корневым элементом дерева графического плана выполнения; в качестве дочернего элемента выступает связанное с ним выражение.

В SQL Server 2005 с каждым из трех типов значков связаны свои собственные цвета: значки итератора (логические и физические операторы) имеют синий цвет, пиктограммы курсоров — желтый, элементы языка — зеленый.

Всплывающие подсказки узлов графического плана выполнения

Каждый узел отображает во всплывающей подсказке, возникающей при наведении указателя мыши на этот узел, сведения в соответствии с содержимым следующей таблицы. Не все узлы в графическом плане выполнения имеют всплывающие подсказки, которые описаны здесь.

Элемент Описание

Физическая операция

Используемый оператор, такой как Hash Join или Nested Loops. Физические операторы, отображаемые красным цветом, показывают, что оптимизатор запросов выдал предупреждение, например предупреждение о нехватке статистики столбцов или отсутствии предикатов соединения. Это может привести к выбору оптимизатором запросов плана менее эффективного, чем тот, который ожидался. Дополнительные сведения о статистике столбцов см. в разделе Статистика индексов.

Если графический план выполнения предлагает создание или обновление статистики либо создание индекса, отсутствующая статистика или индексы могут быть немедленно созданы или изменены с использованием контекстных меню обозревателя объектов среды SQL Server Management Studio. Дополнительные сведения см. в разделе Разделы руководства по индексам.

Логическая операция

Логический оператор, который соответствует физическому оператору, такому как оператор Inner Join. Имя логического оператора приводится после физического оператора сверху всплывающей подсказки.

Предполагаемый размер строки

Предполагаемый размер строки, получаемой на выходе оператора (в байтах).

Предполагаемая стоимость операций ввода-вывода

Приблизительные затраты на выполнение действий ввода-вывода для данной операции. Это значение должно быть минимально возможным.

Предполагаемая стоимость процессного ресурса

Приблизительные затраты на произведение ЦП всех вычислений для данной операции.

Предполагаемая стоимость оператора

Затраты оптимизатора запросов на выполнение этой операции. Затраты на выполнение этой операции в процентном отношении к общим затратам на выполнение запроса отображается в скобках. Так как ядро запросов выбирает наиболее эффективную операцию для выполнения запроса или инструкции, это значение должно быть минимально возможным.

Предполагаемая стоимость поддерева

Общие затраты оптимизатора запросов на выполнение этой и всех предшествующих операций в данной ветви дерева.

Предполагаемое количество строк1

Количество строк, выдаваемых оператором.

1 Эта всплывающая подсказка выглядит так же, как Количество строк в реальном плане выполнения.

ms178071.note(ru-ru,SQL.90).gifПримечание.
Сведения, которые были доступны в полях Argument графических планов выполнения SQL Server 2000, сейчас представлены отдельно — во всплывающей подсказке графических планов выполнения в SQL Server 2005.

Свойства узлов графического плана выполнения

Просмотреть подробные сведения об узле графического плана выполнения можно, щелкнув узел правой кнопкой мыши и выбрав Свойства.

См. также

Задачи

Как удалить индекс (SQL Server Management Studio)
Как перестроить индекс (среда SQL Server Management Studio)
Как реорганизовать индекс (среда SQL Server Management Studio)
Как просмотреть все индексы в базе данных (среда SQL Server Management Studio)

Основные понятия

Как изменить индекс (среда SQL Server Management Studio)

Другие ресурсы

SET SHOWPLAN_ALL (Transact-SQL)
SET SHOWPLAN_TEXT (Transact-SQL)
SET STATISTICS PROFILE (Transact-SQL)
SET SHOWPLAN_XML (Transact-SQL)
SET STATISTICS XML (Transact-SQL)
Работа с индексами (визуальные инструменты для баз данных)
Подразделы руководства по планам выполнения

Справка и поддержка

Получение помощи по SQL Server 2005