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

如何从.duckdb文件中获取表的存储大小(MB/GB)?

获取DuckDB表存储大小的可行方法

要查看DuckDB中单个表的存储大小,直接利用内置系统表或PRAGMA命令即可,不用依赖SHOW ALL TABLES或DESCRIBE。以下是两种实用方案:

方案1:查询duckdb_tables系统表

duckdb_tables包含所有表的元数据,其中storage_size字段记录了表的字节级存储大小,可通过SQL换算成MB/GB:

SELECT
  table_name,
  ROUND(storage_size / 1024.0 / 1024, 2) AS size_mb,
  ROUND(storage_size / 1024.0 / 1024 / 1024, 2) AS size_gb
FROM duckdb_tables
WHERE table_name = '目标表名'; -- 替换成你要查询的表名

方案2:使用PRAGMA命令筛选目标表

执行PRAGMA show_tables可以列出所有表的详细信息,其中包含存储大小字段。若要直接定位目标表,可添加过滤条件:

PRAGMA show_tables WHERE name = '目标表名';

输出结果中的storage_size为字节数,自行除以1024^2(MB)或1024^3(GB)即可得到对应单位的大小。

注意事项

  • 若使用的DuckDB版本较旧,duckdb_tables可能未提供,此时可尝试查询information_schema.tables,但部分旧版本的该表可能没有storage_size字段,建议升级至最新版获得更完整的元数据支持。
  • 计算出的存储大小包含表的所有数据、索引及相关辅助文件的磁盘占用量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:42:43