sys.dm_db_stats_properties (Transact-SQL)
Возвращает статистические свойства указанного объекта базы данных (таблицы или индексированного представления) из текущей базы данных SQL Server.
Примечание |
---|
Объект DMO sys.dm_db_stats_properties имеется в SQL Server 2012, начиная с пакета обновления 1 (SP1), и в SQL Server 2008 R2, начиная с пакета обновления 2 (SP2). |
Синтаксис
sys.dm_db_stats_properties (object_id, stats_id)
Аргументы
object_id
Идентификатор объекта текущей базы данных, для которого запрашиваются статистические свойства. Аргумент object_id имеет тип int.stats_id
Идентификатор статистики для указанного аргумента object_id. Идентификатор статистики может быть получен из динамического административного представления sys.stats. Аргумент stats_id имеет тип int.
Возвращаемая таблица
Имя столбца |
Тип данных |
Описание |
---|---|---|
object_id |
int |
Идентификатор объекта (таблицы или индексированного представления), для которого возвращаются свойства объекта статистики. |
stats_id |
int |
Идентификатор объекта статистики. Является уникальным в пределах таблицы или индексированного представления. Дополнительные сведения см. в разделе sys.stats (Transact-SQL). |
last_updated |
datetime2 |
Дата и время последнего обновления объекта статистики. |
rows |
bigint |
Общее число строк в таблице или индексированном представлении при последнем обновлении статистики. Если статистика отфильтрована или соответствует отфильтрованному индексу, количество строк может быть меньше, чем количество строк в таблице. |
rows_sampled |
bigint |
Общее количество строк, выбранных для статистических вычислений. |
steps |
int |
Число шагов в гистограмме. Дополнительные сведения см. в разделе Инструкция DBCC SHOW_STATISTICS (Transact-SQL). |
unfiltered_rows |
bigint |
Общее количество строк в таблице до применения критерия фильтра (для отфильтрованной статистики). Если статистика не отфильтрована, то unfiltered_rows равно значению, которое возвращается в столбце rows. |
modification_counter |
bigint |
Общее количество изменений в начальном столбце статистики (на основе которого строится гистограмма) с момента последнего обновления статистики. |
Замечания
При наличии одного из следующих условий представление sys.dm_db_stats_properties возвращает пустой набор строк.
object_id или stats_id равно NULL.
Указанный объект не найден или не соответствует таблице или индексированному представлению.
Указанный идентификатор статистики не соответствует имеющейся статистике для указанного идентификатора объекта статистики.
Текущий пользователь не имеет разрешений на просмотр объекта статистики.
Это поведение позволяет безопасно использовать представление sys.dm_db_stats_properties при перекрестном применении к строкам в таких представлениях, как sys.objects и sys.stats.
Разрешения
Требуется наличие у пользователя разрешения на выбор столбцов статистики либо то, чтобы пользователь был владельцем таблицы или членом предопределенной роли сервера sysadmin, предопределенной роли базы данных db_owner или предопределенной роли базы данных db_ddladmin.
Примеры
А.Получение всех статистических свойств таблицы
В следующем примере показано получение всех статистических свойств, имеющихся для таблицы TEST.
SELECT
sp.stats_id, name, filter_definition, last_updated, rows, rows_sampled, steps, unfiltered_rows, modification_counter
FROM sys.stats AS stat
CROSS APPLY sys.dm_db_stats_properties(stat.object_id, stat.stats_id) AS sp
WHERE stat.object_id = object_id('TEST');
Б.Получение статистических свойств часто изменяемых объектов.
В следующем примере показано получение всех таблиц, индексированных представлений и статистических свойств из текущей базы данных, где начальный столбец менялся более 1000 раз с момента последнего обновления статистики.
SELECT
obj.name, obj.object_id, stat.name, stat.stats_id, last_updated, modification_counter
FROM sys.objects AS obj
JOIN sys.stats stat ON stat.object_id = obj.object_id
CROSS APPLY sys.dm_db_stats_properties(stat.object_id, stat.stats_id) AS sp
WHERE modification_counter > 1000;
См. также
Справочник
Инструкция DBCC SHOW_STATISTICS (Transact-SQL)
Динамические административные представления и функции, связанные с объектом (Transact-SQL)
Динамические административные представления и функции (Transact-SQL)