Новость из категории: Информация

SQL Server 2016: учет блокировок и кратковременных блокировок в DMF статистики работы индекса. Продолжение

SQL Server 2016: учет блокировок и кратковременных блокировок в DMF статистики работы индекса. Продолжение

Меня могут спросить, почему я выполняю первоначальное обнаружение просто для сужения результатов до базы данных. Это сделано потому, что для идентификации участвующих основных индексов я должен иметь возможность присоединить dm_db_index_operational_ stats к sys.indexes. dm_db_index_ operational_stats — значение уровня сервера, поэтому результаты пересекают границы баз данных; независимо от того, на какой базе данных выполняется запрос к DMF, результаты получаются одинаковые. Но того же нельзя сказать о запросах к sys.indexes. Это системное представление, уникальное для каждой базы данных. Возвращаются только результаты для индексов в базе данных, из которой вызвано представление.

Чтобы объединить dm_db_index_operational_stats и sys.indexes, необходимо полностью определить sys.indexes с именем базы данных. И index_id, и object_id объединяют столбцы между этими объектами и не уникальны во всех базах данных. Это означает, что необходимо сначала идентифицировать базу данных, чтобы перейти к шагу 2, на котором мы получаем подробные сведения об индексе благодаря знанию имени базы данных.

Шаг 2. Обнаружение сведений об индексе для решения проблем блокировок и кратковременных блокировок
SQL Server 2016: учет блокировок и кратковременных блокировок в DMF статистики работы индекса. Продолжение
Дальнейшее уточнение имен объектов

В зависимости от типа ожидания блокировок и кратковременных блокировок мы запускаем приведенный в коде выше запрос с одним из трех вариантов сортировки, чтобы получить дополнительные сведения об индексах (см. экран ниже).

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

SQL Server 2016: учет блокировок и кратковременных блокировок в DMF статистики работы индекса. Продолжение
Дополнительные сведения об индексах

На данном этапе мы выяснили, что индекс lifeboat..Database_ Files_History.PK_Database_Files_ History_1 виновен в значительной доле ожиданий кратковременных блокировок ввода-вывода. Теперь необходима точная диагностика на уровне индекса. С помощью dm_db_index_operational_stats, благодаря применению ожиданий как инструмента настройки производительности, мы прошли путь от понимания, что ожидания кратковременной блокировки ввода-вывода являются главной проблемой, до выяснения, какие именно объекты порождают ее.

SQL Server 2016: учет блокировок и кратковременных блокировок в DMF статистики работы индекса. Продолжение

Выявление основных типов ожиданий — только часть задачи. Определение объектов, вносящих вклад в эти ожидания, с последующей целевой настройкой этих объектов — следующий, решающий шаг процесса настройки производительности. Благодаря информации, получаемой от dm_db_index_ operational_stats, мы можем без труда определить вызывающие затруднения таблицы и индексы.


<<К началу статьи

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх