Поделиться через


Анализ производительности скрипта

 

Определить, можно ли повысить производительность запроса, хранимых процедур или скриптов, можно с помощью средств, предусмотренных в составе SQL Server Data Tools.Например, выполняя мониторинг статистики клиента (времени отклика для часто используемых запросов и т. п.), можно определить, требуется ли изменить текст запроса или индексы таблицы.К таким статистическим данным может относиться время выполнения клиента, профиль запроса, количество отправленных и принятых пакетов или байтов и т. п.

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

Использование статистики клиента

При запуске скрипта или запроса в редакторе Transact-SQL можно включить сбор статистики клиента, например профиль приложения, сетевой и временной статистики выполнения.Такие показатели позволяют измерять эффективность скрипта или испытывать разные скрипты.

Чтобы включить сбор статистики клиента, при открытом редакторе Transact-SQL укажите в меню Данные пункт Редактор Transact-SQL, затем Параметры выполнения и Включить статистику клиента.Либо нажмите кнопку Включить статистику клиента (пятая справа) на панели инструментов редактора Transact-SQL, либо щелкните редактор Transact-SQL правой кнопкой мыши и выберите пункты Параметры выполнения и Включить статистику клиента.Обратите внимание, что для сбора статистики по запросу необходимо включить эту функцию перед его выполнением.

Если статистика клиента включена, рядом с вкладкой Сообщение при выполнении запроса отобразится вкладка Статистика.Если статистика клиента выключена, вкладка Статистика не отображается.Статистика успешно выполненных запросов приводится вместе со средними значениями.

Дополнительные сведения о собираемой статистике см. в разделе Панель статистики окна запроса и подразделе Вкладка «Статистика клиента» данного раздела.

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

Планы выполнения показывают, как ядро СУБД выполняет навигацию по таблицам и использует индексы для доступа к данным или их обработки для запроса или другой инструкции DML, например обновления.Графический подход очень полезен для понимания характеристик производительности запроса.

Откройте скрипт Transact-SQL, содержащий запросы, которые нужно проанализировать в редакторе Transact-SQL.Затем можно выделить код для просмотра и выбрать отображение предполагаемого плана выполнения, нажав кнопку Показать предполагаемый план выполнения на панели инструментов редактора.После нажатия кнопки Показать предполагаемый план выполнения пакеты и запросы Transact-SQL не запускаются.Вместо этого скрипт будет разобран, и будет отображен план выполнения запросов, который ядро СУБД выбрало бы с наибольшей вероятностью, если бы запросы реально выполнялись.

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

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

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

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

Использование анализа кода

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

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

Дополнительные сведения по анализу кода см. в разделе Анализ кода базы данных для улучшения качества кода.