SQL Server, объект SQL Statistics

Область применения: SQL Server

Объект SQLServer:SQL Statistics в SQL Server предоставляет счетчики для отслеживания компиляции и типа запросов, отправленных экземпляру SQL Server. Мониторинг количества компиляций запросов и перекомпиляции, а также количество пакетов, полученных экземпляром SQL Server, позволяет определить, насколько быстро SQL Server обрабатывает пользовательские запросы и насколько эффективно оптимизатор запросов обрабатывает запросы.

Компиляция занимает в обработке запроса значительную часть времени. Чтобы сэкономить затраты на компиляцию, ядро СУБД сохраняет скомпилированный план запроса в кэше запросов. Целью кэширования является снижение числа компиляций путем сохранения уже откомпилированных запросов для дальнейшего повторного использования, избавляя от необходимости повторной компиляции аналогичных запросов, которые могут поступить позже. Однако каждый уникальный запрос должен быть скомпилирован хотя бы однажды. Компиляция запросов может быть вызвана следующими факторами:

  • изменением схемы, включая базовые изменения (добавление в таблицу столбцов или индексов) или статистической схемой (вставка или удаление значительного числа строк в таблице);

  • изменением среды (инструкцией SET). Изменениями параметров сеанса (например: повторную компиляцию запроса может вызвать предложение ANSI_PADDING или ANSI_NULLS).

Дополнительные сведения об простой и принудительной параметризации см. в статье ALTER DATABASE (Transact-SQL).

Это счетчики статистики SQL Server.

Счетчики SQL Server статистика SQL Description
Попыток автопараметризации/с Число попыток автоматической параметризации, выполненных за секунду. Общий итог должен быть равен сумме ошибочных, надежных и ненадежных автоматических параметризаций. Автоматическая параметризация возникает, когда экземпляр SQL Server пытается параметризировать запрос Transact-SQL, заменив некоторые литералы параметрами, чтобы повторно использовать результирующий кэшированный план выполнения в нескольких похожих запросах. Автоматическое параметризация также называется простыми параметризациями в более новых версиях SQL Server. Этот счетчик не учитывает принудительные параметризации.
Запросов пакетов/с Количество пакетов команд Transact-SQL, полученных в секунду. На эту статистику влияют любые ограничения (ввод-вывод, число пользователей, размер кэша, сложность запросов и т. д.). Высокое число запросов пакетов свидетельствует о высокой пропускной способности.
Сбоев автопараметризации/с Число ошибочных попыток автоматической параметризации, выполненных за секунду. Это число обычно невелико. Автоматическое параметризация также называется простыми параметризациями в более поздних версиях SQL Server.
Вынужденные параметризации/с Число успешных принудительных параметризаций в секунду.
Число выполнений структурированных планов/сек Число выполнений плана в секунду, когда план запроса создается с помощью структуры плана.
Число выполнений неструктурированных планов/сек Число выполненных планов в секунду, когда не удается обработать структуру плана во время его создания. Структура плана не рассматривалась, а выполненный план создан путем обычной компиляции.
Безопасных автопараметризаций/с Число попыток надежных автоматических параметризаций в секунду. Безопасный относится к определению того, что кэшированный план выполнения можно совместно использовать между различными похожими операторами Transact-SQL. SQL Server выполняет многие попытки автоматической параметризации, некоторые из которых оказываются безопасными, а другие — сбоем. Автоматическое параметризация также называется простыми параметризациями в более поздних версиях SQL Server. Этот счетчик не включает принудительные параметризации.
Скорость предупреждений SQL Число запросов «Внимание» в секунду. «Внимание» — это запрос, выдаваемый клиентом для завершения текущего выполняемого запроса.
Компиляций SQL/с Число компиляций SQL, выполненных за секунду. Указывает число раз, когда вводился путь компиляции кода. Включает компиляцию, вызванную перекомпиляциями на уровне инструкций в SQL Server. После стабильной активности пользователя SQL Server это значение достигает устойчивого состояния.
Повторных компиляций SQL/с Число повторных компиляций инструкций в секунду. Подсчитывает число повторных компиляций инструкций. Обычно следует стремиться к снижению этого значения.
Небезопасных автопараметризаций/с Число ненадежных попыток автоматической параметризации, выполненных за секунду. Например: если запрос обладает какими-либо характеристиками, препятствующими совместному использованию его плана из кэша, он определяется как ненадежный. В это число не входят принудительные параметризации.

Пример

Вы начинаете изучать счетчики производительности запросов в этом объекте, используя этот запрос T-SQL в динамическом административном представлении sys.dm_os_performance_counters:

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL Statistics%';