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


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

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

    system.parts

    示例:以下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;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    system.part_columns

    示例:以下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;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    公众号接收事件推送
    【JAVA】==和equal的区别
    linux查找目录
    Git入门
    SHELL编程基础2
    Kotlin高仿微信-第3篇-主页
    2022广西师范大学暑期训练赛 E ,K
    深度神经网络和人工神经网络区别
    【Java开发】Redis位图实现统计日活周活月活
    如何建立完整的、有效的会员体系?
  • 原文地址:https://blog.csdn.net/zhuoxiuwu/article/details/136186717