开发者

统计mysql和pgsql库和表占用大小方式

目录
  • 适用背景
  • mysql
    • 每个库的大小,单位MB
    • 具体库下的单表大小,单位MB
  • pgsql
    • 每个库的大小,单位MB
    • 统计schema下单表大小,单位MB
  • 总结

    适用背景

    交付项目时,客javascript户需要统计数据库和表占用情况,来评估后续磁盘使用计划。http://www.devze.com

    以下sql对应库的版本,mysql为5.7 pgsql为14.x

    mysql

    每个库的大小,单位MB

    use information_schema;
    select table_schema,round(sum(data_length/1024python/1024),2) as data from tables group by table_schema order by data desc;
    

    统计mysql和pgsql库和表占用大小方式

    具体库下的单表大小,单位MB

    use information_schema;
    select table_name,round(sum(data_length/1024/1024),2) as data from tables where table_schema='db_name' group by table_name order by data desc;
    

    统计mysql和pgsql库和表占用大小方式

    pgsql

    每个库的大小,单位MB

    SELECT 
        nspname AS table_schema,
        ROUND(SUM(pg_total_relation_size(c.oid)) / 1024.0 / 1024.0, 2) AS total_mb
    FROM 
        pg_class c
    JOjavascriptIN 
        pg_namespace n ON c.relnamespace = n.oid
    WHERE 
        c.relkind = 'r'
    GROUP BY 
        nspname
    ORDER BY 
        total_mb DESC;
    

    统计mysql和pgsql库和表占用大小方式

    统计schema下单表大小,单位MB

    SEwww.devze.comLECT 
        relname AS table_name,
        ROUND(pg_relation_size(c.oid) / 1024.0 / 1024.0, 2) AS data_mb  -- 表数据大小(MB)
    FROM 
        pg_class c
    JOIN 
        pg_namespace n ON c.relnamespace = n.oid
    WHERE 
        n.nspname = 'schema_name'  -- 指定schema名称
        AND c.relkind = 'r'  -- 只统计普通表
    ORDER BY 
        data_mb DESC;
    

    统计mysql和pgsql库和表占用大小方式

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新数据库

    数据库排行榜