【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;
相关推荐
不会c嘎嘎7 小时前
MySQL -- 深入剖析事务底层原理
数据库·mysql
wgego7 小时前
Polar靶场web 随写笔记
笔记·web
cuckooman7 小时前
obsidian如何删除已不再使用的属性?
笔记·obsidian
中屹指纹浏览器7 小时前
指纹浏览器与代理 IP 的跨协议栈协同优化技术
服务器·网络·经验分享·笔记·媒体
汗流浃背了吧,老弟!7 小时前
ChatGLM-整合数据库
数据库·langchain
墨^O^7 小时前
软件测试开发知识笔记
笔记·学习·测试工具·单元测试·测试用例·压力测试·ab测试
中屹指纹浏览器7 小时前
2025 高并发 IP 指纹优化:基于腾讯云边缘计算的抗检测实现
服务器·网络·经验分享·笔记·媒体
JavaBoy_XJ7 小时前
Mysql在 Spring Boot 项目中的完整配置指南
数据库·spring boot·mysql·mysql配置
云和数据.ChenGuang7 小时前
openEuler 上安装与部署 Redis 运维教程
运维·数据库·redis·运维工程师·运维技术
元气满满-樱7 小时前
MySql源码安装
数据库·mysql·adb