SQL Server: как получить статистику размеров? - PullRequest
0 голосов
/ 19 апреля 2019

Я бы хотел запросить размеры всех результатов, созданных CREATE STATISTICS: гистограммы и векторы плотности.

Я попробовал следующий фрагмент:

SELECT
    t.Name AS TableName,
    p.rows AS RowCounts,
    CAST(ROUND((SUM(a.used_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS Used_MB,
    CAST(ROUND((SUM(a.total_pages) - SUM(a.used_pages)) / 128.00, 2) AS NUMERIC(36, 2)) AS Unused_MB,
    CAST(ROUND((SUM(a.total_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS Total_MB
FROM 
    sys.stats t
INNER JOIN 
    sys.partitions p ON t.object_id = p.OBJECT_ID --AND i.index_id = p.index_id
INNER JOIN 
    sys.allocation_units a ON p.partition_id = a.container_id
GROUP BY 
    t.Name, p.Rows
ORDER BY 
    t.Name;

Однако возвращаемые результаты в поле "Used_MB", очевидно, содержат исходный размер таблицы.

Любой способ быстро получить просто размеры статистики?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...