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

如何批量获取tempdb中所有临时表的行数并快速验证?

获取当前会话本地临时表的行数

要批量获取当前会话所有本地临时表的行数,无需逐个指定表名,可以使用以下SQL查询:

SELECT 
    t.name AS name,
    SUM(p.rows) AS row_count
FROM tempdb.sys.tables t
JOIN tempdb.sys.partitions p ON t.object_id = p.object_id
WHERE 
    t.name LIKE '#%'
    AND t.name LIKE '%' + CAST(@@SPID AS VARCHAR(10)) + '%'
GROUP BY t.name
ORDER BY t.name;

关键说明:

  • tempdb.sys.tables存储了tempdb内所有表的元数据,包含各类临时表
  • tempdb.sys.partitions记录了每个表分区的行数,临时表默认单分区,用SUM()可兼容多分区场景
  • @@SPID获取当前会话ID,用来过滤仅属于当前会话的本地临时表(本地临时表名称后缀会包含会话ID)

执行后会得到符合你预期的结果格式:

namerow_count
#temp12000
#temp20
#temp30

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 04:48:29