【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;
相关推荐
木子欢儿6 分钟前
debian 13 安装配置ftp 创建用户admin可以访问 /mnt/Data/
linux·运维·服务器·数据库·debian
LSL666_12 分钟前
3 Redis 的 Java 客户端
java·数据库·redis
Moshow郑锴15 分钟前
PostgreSQL备份机制详解(WAL+Logical Dump+Physical Backup)
数据库·postgresql
神明不懂浪漫16 分钟前
【第十三章】操作符详解,预处理指令详解
c语言·开发语言·经验分享·笔记
linxinglu16 分钟前
Oracle:关系型数据库的锁定与数据引力场
数据库·oracle
此刻觐神19 分钟前
Windows学习笔记-18(MFC项目-制作快捷方式管理工具)
windows·笔记·学习·mfc
last_zhiyin19 分钟前
Oracle sql tuning guide 翻译 Part 4-2 --- 连接方法(Join Methods)
数据库·sql
念越21 分钟前
MySQL表设计全解析:三大范式与表关系设计
数据库·mysql
倔强的石头_40 分钟前
国产化时序替换落地指南:用金仓数据库管好海量时序数据
数据库
java干货40 分钟前
Slave 的 SQL 线程为什么追不上 Master?
数据库·sql