You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Microsoft Fabric Warehouse中空表(0行)的高效查询语句

在Microsoft Fabric Warehouse中快速查找空表的方法

针对你在Fabric Warehouse中需要批量排查9000张表中空表的需求,可通过查询系统视图实现高效统计,替代低效的UNION ALL逐个查询方案:

推荐查询语句

SELECT 
    s.name AS schema_name,
    t.name AS table_name,
    SUM(p.rows) AS row_count
FROM 
    sys.tables t
JOIN 
    sys.schemas s ON t.schema_id = s.schema_id
JOIN 
    sys.dm_db_partition_stats p ON t.object_id = p.object_id
WHERE 
    p.index_id IN (0, 1) -- 仅统计堆表或聚集索引的行数,避免重复计算
GROUP BY 
    s.name, t.name
HAVING 
    SUM(p.rows) = 0 -- 筛选出行数为0的空表
ORDER BY 
    s.name, t.name;

方案说明

  1. 效率优势:该查询直接读取系统维护的元数据和分区统计信息,无需对每张表执行全表扫描,相比UNION ALL逐个COUNT(*)的方式,速度提升极为明显,适合处理数千张表的场景。
  2. 准确性:sys.dm_db_partition_stats中的rows字段是系统自动维护的近似行数,但对于判断表是否为空(行数=0)的场景完全准确,不存在误差。
  3. 替代原Azure DW方案:Fabric Warehouse未保留Azure SQL DW中的dbo.vTableSizes视图,因此需改用标准的SQL Server兼容系统视图实现相同需求。

内容的提问来源于stack exchange,提问作者SRP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 19:44:49