【clickhouse笔记】 查询表或列的磁盘占用大小

clickhouse 查询表或列的磁盘占用大小

通过系统表 system.parts 我们可以查询MergeTree表的磁盘占用信息,而通过 system_part_columns 表可以查询具体字段的磁盘占用信息

system.parts

示例:以下SQL 查询所有表的 磁盘压缩大小 和 原始未压缩磁盘占用、压缩比等信息

sql 复制代码
SELECT
    database,
    table,
    formatReadableSize(sum(data_compressed_bytes) AS size) AS compressed,
    formatReadableSize(sum(data_uncompressed_bytes) AS usize) AS uncompressed,
    round(usize / size, 2) AS compr_rate,
    sum(rows) AS rows,
    count() AS part_count
FROM system.parts
WHERE (active = 1) AND (database LIKE '%') AND (table LIKE '%')
GROUP BY
    database,
    table
ORDER BY size DESC;

system.part_columns

示例:以下SQL 查询所有表的所有字段的磁盘压缩大小 和 原始未压缩磁盘占用信息

sql 复制代码
SELECT
    database,
    table,
    column,
    formatReadableSize(sum(column_data_compressed_bytes) AS size) AS compressed,
    formatReadableSize(sum(column_data_uncompressed_bytes) AS usize) AS uncompressed,
    round(usize / size, 2) AS compr_ratio,
    sum(rows) rows_cnt,
    round(usize / rows_cnt, 2) avg_row_size
FROM system.parts_columns
WHERE (active = 1) AND (database LIKE '%') AND (table LIKE '%')
GROUP BY
    database,
    table,
    column
ORDER BY size DESC;
相关推荐
有点心急10213 分钟前
Python 入门
服务器·数据库·python
独泪了无痕5 分钟前
Mac Homebrew 安装 MySQL 指南
数据库·mysql·mac
l1t25 分钟前
DeepSeek总结的PostgreSQL 19新功能:第二部分
数据库·postgresql
fchampion27 分钟前
MYSQL自学笔记
数据库·笔记·mysql
其美杰布-富贵-李30 分钟前
Claude Code 使用指南
笔记·vibecoding·claude code
XiaoHu020743 分钟前
MySQL基础(第一弹)
数据库·c++·mysql
killer Curry1 小时前
Polar CTF Web 简单(1)
笔记
随意起个昵称1 小时前
Floyd算法做题笔记
笔记·算法
惜分飞1 小时前
rose双机引起文件系统损坏使得数据库异常故障处理---惜分飞
数据库·oracle
@––––––1 小时前
论文阅读笔记:π 0 : A Vision-Language-Action Flow Model for General Robot Control
论文阅读·笔记