|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Management StudioСреда SQL Server Management Studio является интерактивным графическим инструментом, который позволяет анализировать план запросов, а также предоставляет помощь, необходимую для улучшения производительности запросов.
Параметры плана выполнения графически отображают способы получения данных, выбранные с помощью оптимизатора запросов SQL Server. Для графического отображения плана выполнения используются значки, представляющие выполнение определенных инструкций и запросов SQL Server.
Графическое отображение очень полезно для понимания показателей производительности запроса. Среда SQL Server Management Studio показывает, какой статистики не хватает, тем самым принуждая к оптимизации запросов за счет оценок качества выборки, а затем позволяет легко создать пропущенную статистику.
Включение плана выполнения для запроса в процессе выполнения 1. Введите запрос, для которого необходимо отобразить фактический план выполнения. 2. В меню Запрос выберите Включить действительный план выполнения или нажмите кнопку Включить фактический план выполнения на панели инструментов 3. Выполните запрос, нажав кнопку Выполнить на панели инструментов. План, используемый оптимизатором запросов, отображается на вкладке План выполнения на панели результатов. 4. Для просмотра плана выполнения перейдите на вкладку План выполнения на панели результатов. Графическое представление результатов работы плана выполнения в среде SQL Server Management Studio читается справа налево и сверху вниз. Каждый проанализированный запрос в пакете отображается вместе с затратами на его выполнение в процентном отношении от общих затрат на выполнение пакета.
Следующие описания являются руководством по интерпретации результатов графического отображения плана выполнения в среде Management Studio: · Каждый узел древовидной структуры представлен в виде значка, указывающего логический и физический оператор, используемый для выполнения этой части запроса или инструкции. · Каждый узел связан со своим родительским узлом. Дочерние узлы одного родительского узла отображаются в одном столбце. Однако все узлы в одном столбце не обязательно имеют общий родительский узел. Правила со стрелками на конце соединяют каждый узел с его родителем. · Операторы показаны в виде символов, связанных с определенным родительским узлом. · Ширина стрелки пропорциональна количеству строк. Если имеются данные о фактическом количестве строк, используются эти данные. В противном случае используется ориентировочное количество строк. · Если запрос содержит несколько инструкций, показывается несколько планов выполнения запроса. · Части древовидных структур определены типом выполняемой инструкции. · Для параллельных запросов, которые задействуют несколько процессоров, пункт меню Свойства для каждого узла в графическом плане выполнения отображает сведения об используемых потоках операционной системы. Чтобы просмотреть свойства узла, щелкните узел правой кнопкой мыши и выберите Свойства.
Следующие значки, отображаемые в графическом плане выполнения среды SQL Server Management Studio, представляют собой операторы, используемые в SQL Server для выполнения инструкций.
Особенности представления дерева плана для разных типов инструкций приведены в таблице.
Каждый узел отображает во всплывающей подсказке, возникающей при наведении указателя мыши на этот узел, соответствующие сведения.
Таблица описания содержания подсказки для узлов дерева плана.
1 Эта всплывающая подсказка выглядит так же, как Количество строк в реальном плане выполнения. Не все узлы в графическом плане выполнения имеют всплывающие подсказки, которые описаны в таблице.
Пример: имеется индексдля столбцаStateProvinceID таблицы new_addresses. -- высокая селективность (выбирается одна строка из 19814) USE sample; SELECT * FROM new_addresses AS a WHERE a.StateProvinceID = 32;
Из структуры плана видно, что оптимизатор использует индекс для столбца StateProvinceID. Примечание: оператор Nested Loops (вложенный цикл) всегда отображается, даже если запрос для одной таблицы).
Пример: -- низкая селективность (отношение количества строк, удовлетворяющему условию, к общему количеству строк равно 23%) USE sample; SELECT * FROM new_addresses a WHERE a.StateProvinceID =9;
План отличается (индекс не используется, таблица сканируется).
Пример: USE AdventureWorks; SELECT * FROM HumanResources.Employee AS e JOIN HumanResources.EmployeeAddress AS a ON e.EmployeeID = a.EmployeeID AND e.EmployeeID = 10;
Запрос использует метод вложенных циклов (Nested Loops (вложенный цикл)), хотя в соединяемых столбцах таблиц имеются первичные ключи (соответственно – кластеризованные индексы). Оптимизатор принимает решение использовать вложенные циклы, так как существует дополнительный фильтр (e.EmployeeID = 10), сокращающий результирующий набор до одной строки. Оператор Clustered Index Seek использует поисковые возможности индексов для получения строк из кластеризованного индекса. Пример: USE AdventureWorks; SELECT * FROM HumanResources.Employee AS e JOIN HumanResources.EmployeeAddress AS a ON e.EmployeeID = a.EmployeeID
В этом запросе отсутствует условие e.EmployeeID = 10 и результирующий набор содержит много строк. В этом случае оптимизатор выбирает метод слияния соединения. Merge Join (Слияние соединения). Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.) |