sql - 获取所有表的已过滤记录的已用 MB 和行数
问题描述
我在 SQL Server 中的查询有问题。我想获取每个表在 2020 年创建的记录的总数和已用磁盘空间(我SysDateCreate
在所有表中都有一列)。我想要这样的“表格结果”:
| Year | TableName | TotalRowCont | Total_MB |
我写了这个查询:
SELECT
NULL AS Year,
sys.tables.name AS TableName,
MAX(sys.partitions.rows) AS TotalRowCount,
CAST(ROUND((SUM(sys.allocation_units.used_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS Used_Mb,
CAST(ROUND((SUM(sys.allocation_units.total_pages) - SUM(sys.allocation_units.used_pages)) / 128.00, 2) AS NUMERIC(36, 2)) AS Unused_Mb,
CAST(ROUND((SUM(sys.allocation_units.total_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS Total_Mb
FROM sys.tables
INNER JOIN sys.indexes ON sys.tables.object_id = sys.indexes.object_id
INNER JOIN sys.partitions ON sys.indexes.object_id = sys.partitions.object_id AND sys.indexes.index_id = sys.partitions.index_id
INNER JOIN sys.allocation_units ON sys.partitions.partition_id = sys.allocation_units.container_id
WHERE sys.tables.name LIKE 'Tb%'
GROUP BY sys.tables.name
ORDER BY sys.tables.name
如何按年份过滤/分组?
提前致谢。
解决方案
推荐阅读
- python - 如何进一步调试?
- python - 如何使用 pandas 和 numpy 在数据集中用零填充缺失的条目(完全缺失,而不是 NaN)?
- tcl - 如何从 tcl 中的当前脚本路径获取一个目录的路径?
- android - 为什么升级到 jetpack compose 1.0.0-beta01 后没有隐式导入 kotlin.collections?
- python - 正则表达式捕获每行引号内的第一个文本组
- c++ - Qt 创建者 Xbox One 控制器输入
- visual-studio - Visual Studio 在停靠窗口上崩溃
- python - 在同一轴上绘制 Matplotlib 中的两个图像
- vue.js - 客户端渲染的虚拟 DOM 树与服务器渲染的内容不匹配
- r - 如何结合两个因素使过滤更快?