sys.dm_db_xtp_hash_index_stats (Transact-SQL)
Эти статистические данные могут быть полезными для понимания и настройки числа контейнеров. Их также можно использовать, чтобы определить наличие повторяющихся ключей индекса.
Большая средняя длина цепочки означает, что множество строк хэшируются в один контейнер. Это могло произойти по следующим причинам.
Если количество пустых контейнеров небольшое или средняя и максимальная длина цепочки близки по значению, вероятно, что общее число контейнеров слишком мало. Это приводит к тому, что разные ключи индекса хэшируются в один контейнер.
Если пустых контейнеров много или максимальная длина цепочки намного больше средней длины, вероятно, что существует множество строк с повторяющимися значениями ключа индекса или в значениях ключей возникло искажение. Все строки с одним значением ключа индекса хэшируются в один контейнер, следовательно, длина цепочки в этом контейнере высока.
Длинные цепочки могут негативно повлиять на производительность всех операций DML в отдельных строках, в том числе SELECT и INSERT. Короткие цепочки и большое число пустых контейнеров указывают на то, что значение bucket_count слишком велико. Это приводит к снижению производительности просмотра индекса.
sys.dm_db_xtp_hash_index_stats сканирует всю таблицу. Таким образом, если таблицы в базе данных велики, то выполнение sys.dm_db_xtp_hash_index_stats может потребовать много времени.
Дополнительные сведения см. в разделе Определение правильного числа контейнеров для хэш-индексов.
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2014 до текущей версии). |
Имя столбца |
Тип |
Описание |
---|---|---|
object_id |
int |
Идентификатор объекта родительской таблицы. |
index_id |
int |
Идентификатор индекса. |
total_bucket_count |
bigint |
Общее число хэш-контейнеров в индексе. |
empty_bucket_count |
bigint |
Общее число пустых хэш-контейнеров в индексе. |
avg_chain_length |
bigint |
Средняя длина цепочек строк во всех хэш-контейнерах в индексе. |
max_chain_length |
bigint |
Максимальная длина цепочек строки в хэш-контейнерах. |
Разрешения
Требуется разрешение VIEW DATABASE STATE на сервере.
См. также
Основные понятия
Оптимизируемые для памяти динамические административные представления таблиц (Transact-SQL)