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


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

Средства в составе 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 процентов. С помощью параметра Масштаб по размеру можно адаптировать план выполнения к размерам панели результатов.

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

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

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

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

Дополнительные сведения по анализу кода см. в статье Analyzing Database Code to Improve Code Quality (Анализ кода базы данных для улучшения качества кода).