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

 更新时间:2025年10月31日 09:46:48   作者:学无止境的宝妈  
本文介绍了统计数据库和表占用情况的方法,适用于MySQL 5.7和PostgreSQL 14.x版本,通过SQL查询,可以获取每个库和表的具体大小,帮助评估磁盘使用计划

适用背景

交付项目时,客户需要统计数据库和表占用情况,来评估后续磁盘使用计划。

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

mysql

每个库的大小,单位MB

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

具体库下的单表大小,单位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;

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
JOIN 
    pg_namespace n ON c.relnamespace = n.oid
WHERE 
    c.relkind = 'r'
GROUP BY 
    nspname
ORDER BY 
    total_mb DESC;

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

SELECT 
    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免密登录的几种配置方式小结

    MySQL免密登录的几种配置方式小结

    在日常运维中,为了简化登录操作或提高自动化脚本执行的效率,我们经常需要配置 MySQL 免密登录,MySQL 支持通过多种方式实现免密登录,这样我们就可以避免每次输入密码,本文给大家介绍了MySQL免密登录的几种配置方式,需要的朋友可以参考下
    2024-10-10
  • 解决MySQL中的Slave延迟问题的基本教程

    解决MySQL中的Slave延迟问题的基本教程

    这篇文章主要介绍了解决MySQL中的Slave延迟问题的基本教程,文中针对不同情况给出了一些具体的解决方法,需要的朋友可以参考下
    2015-11-11
  • SQL group by去重复且按照其他字段排序的操作

    SQL group by去重复且按照其他字段排序的操作

    这篇文章主要介绍了SQL group by去重复且按照其他字段排序的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • mysql创建存储过程实现往数据表中新增字段的方法分析

    mysql创建存储过程实现往数据表中新增字段的方法分析

    这篇文章主要介绍了mysql创建存储过程实现往数据表中新增字段的方法,结合实例形式对比分析了通过存储过程新增字段相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • MySql减少内存占用的方法详解

    MySql减少内存占用的方法详解

    这篇文章主要介绍了MySql减少内存占用的方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • MySQL导致索引失效的几种情况

    MySQL导致索引失效的几种情况

    这篇文章主要介绍了MySQL导致索引失效的几种情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • 详谈mysqldump数据导出的问题

    详谈mysqldump数据导出的问题

    下面小编就为大家带来一篇详谈mysqldump数据导出的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • MySQL读写分离的项目时间实践

    MySQL读写分离的项目时间实践

    本文主要介绍了MySQL数据库的读写分离技术,包括一主一从和双主双从两种架构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • 详解MySQL中的字符集和排序规则

    详解MySQL中的字符集和排序规则

    MySQL字符集用于定义数据库中存储的文本数据的编码格式,而排序规则则用于确定如何对文本数据进行排序和比较,本文将给大家讲讲MySQL中的字符集和排序规则,需要的朋友可以参考下
    2023-09-09
  • Linux下卸载MySQL数据库

    Linux下卸载MySQL数据库

    如何在Linux平台卸载MySQL呢?这篇文章主要介绍了Linux下卸载MySQL数据库的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06

最新评论