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

Vertica 12.0集群如何查看数据表各分区大小?

Vertica 12.0查看分区表各分区占用空间的方法

方法1:通过系统表关联查询

直接关联v_catalog.partitions和v_monitor.projection_storage系统表,获取每个分区的存储占用数据,示例SQL:

SELECT 
    p.table_name,
    p.partition_key,
    p.partition_value,
    SUM(ps.used_bytes) / (1024*1024*1024) AS used_space_gb,
    SUM(ps.total_bytes) / (1024*1024*1024) AS total_space_gb
FROM 
    v_catalog.partitions p
JOIN 
    v_monitor.projection_storage ps ON p.projection_id = ps.projection_id
WHERE 
    p.table_name = '你的目标表名' -- 替换为实际表名
GROUP BY 
    p.table_name, p.partition_key, p.partition_value
ORDER BY 
    used_space_gb DESC;

该查询会返回目标表每个分区的已用空间、总空间(单位为GB),并按已用空间降序排列,方便快速定位占用最大的分区。

方法2:使用专用分区存储函数

Vertica提供了PARTITION_STORAGE函数,可直接查询指定表的分区存储信息,示例SQL:

SELECT 
    partition_key,
    partition_value,
    used_bytes / (1024*1024*1024) AS used_space_gb,
    total_bytes / (1024*1024*1024) AS total_space_gb
FROM 
    PARTITION_STORAGE('你的目标表名') -- 替换为实际表名
ORDER BY 
    used_space_gb DESC;

这个方式更简洁,返回结果和方法1一致,适合快速查询场景。

额外注意事项

  • 替换SQL中的你的目标表名为实际表名称,注意表名的大小写敏感性。
  • 若要同时定位最旧分区,可调整ORDER BY子句,比如按partition_value升序排序(如果分区键是时间类型)。
  • 删除分区前请确认数据已无需保留,执行ALTER TABLE 目标表名 DROP PARTITION 分区值;即可完成删除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 12:15:43