【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;
相关推荐
2301_777599371 分钟前
Go语言怎么用sync.Map_Go语言并发安全Map教程【详解】
jvm·数据库·python
zhangchaoxies2 分钟前
Go语言如何用定时器_Go语言time.Ticker定时器教程【详解】
jvm·数据库·python
2501_914245934 分钟前
如何用 setCustomValidity 自定义表单验证失败的提示文本
jvm·数据库·python
2301_817672265 分钟前
bootstrap如何修改标签页切换的过渡时间
jvm·数据库·python
zhangchaoxies16 分钟前
JavaScript中Tree-shaking失效的场景及其优化对策
jvm·数据库·python
山峰哥16 分钟前
SQL性能飞跃:从索引策略到查询优化的全链路实战指南
数据库·sql·性能优化·深度优先
2501_9142459317 分钟前
SQL在GROUP BY中如何保留非聚合列_配合ANY_VALUE或窗口函数
jvm·数据库·python
weixin_5806140018 分钟前
如何防止SQL注入篡改数据_实施双重身份验证与授权
jvm·数据库·python
2401_8971905518 分钟前
SQL视图占空间吗_理解视图定义与存储机制的底层逻辑
jvm·数据库·python
qq_4240985621 分钟前
C#怎么实现UDP广播通信_C#如何搭建Socket网络【核心】
jvm·数据库·python