sql - SQL Server:如何获取统计信息大小?
问题描述
我想查询由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”下的返回结果显然包含原始表大小。
有什么方法可以快速获取统计数据大小?
解决方案
推荐阅读
- python - 数据框删除分类字段值高于阈值的行
- react-native - react-native 中 this.state.places 中的错误未定义
- mysql - 如果没有其他行匹配,则返回默认行的 MYSQL 查询
- mongodb - Mongodb聚合:测试字段是数字还是字母数字,如果是字母数字则将其拆分
- typescript - 扩展一组函数以接受 Typescript 中的额外参数
- python - 如何在python中修复列表索引超出范围
- java - 为什么我可以更改类中的私有属性?
- go - 使用 nacl.Sign 并理解其 I/O 参数
- java - 如何将文件分隔符添加到 javax.servlet.http.Part.getSubmittedFileName
- c# - 使用 Microsoft.Azure.Cosmos 时如何获取已编译的查询