统计mysql数据库占用磁盘空间大小和行数实例

 更新时间:2026年05月09日 17:17:03   作者:左边有只汪  
本文介绍了如何查看MySQL数据库中每个表的占用磁盘空间大小和行数,通过执行特定的SQL查询语句,可以实现对数据库表的大小和行数的统计

统计mysql数据库占用磁盘空间大小和行数

1、查看占用磁盘空间大小

select sum(t1.data_size ) as data_sum_size,  
sum(t1.index_size) as index_sum_size
from(
select
TABLE_NAME,
table_schema,
truncate(data_length/1024/1024,2) as data_size, -- 查看数据占用大小单位为MB
truncate(index_length/1024/1024,2) as index_size -- 查看索引占用大小 单位为MB
from information_schema.tables
where TABLE_SCHEMA = '数据库名'
order by data_length desc) t1;

如果想查看该数据库中每个表占用大小的话

select
TABLE_NAME,
table_schema,
truncate(data_length/1024/1024,2) as data_size, -- 查看数据占用大小单位为MB
truncate(index_length/1024/1024,2) as index_size -- 查看索引占用大小 单位为MB
from information_schema.tables
where TABLE_SCHEMA = '数据库名'
order by data_length desc

2、查看数据库行数统计

select sum(t1.table_rows) as table_sum from (
select table_name,table_rows from information_schema.tables
where TABLE_SCHEMA = '数据库名'
order by table_rows desc) t1;

如果要查看数据库中每个表的行数的话

select table_name,table_rows from information_schema.tables
where TABLE_SCHEMA = '数据库名'
order by table_rows des

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL修改tmpdir参数

    MySQL修改tmpdir参数

    本文给大家分享的是在linux系统下MySQL修改tmpdir参数解决tmpdir报错的问题,有相同需求的小伙伴可以参考下
    2016-02-02
  • MySql使用存储过程进行单表数据迁移的实现

    MySql使用存储过程进行单表数据迁移的实现

    近期在进行业务解耦,对冗余在一起切又属于不同业务的代码进行分离,同时也将数据库进行分离存储,那么这时候就涉及到多个表的数据要进行迁移,本文就来介绍一下MySql使用存储过程进行单表数据迁移,感兴趣的可以了解一下
    2023-11-11
  • Mysql常用基准测试命令总结

    Mysql常用基准测试命令总结

    在本篇文章中我们给大家分享了关于Mysql常用基准测试命令的总结内容,有需要的读者们可以学习下。
    2018-10-10
  • Centos 6.5下安装MySQL 5.6教程

    Centos 6.5下安装MySQL 5.6教程

    这篇文章主要介绍了Centos 6.5下安装MySQL 5.6教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • Navicat for MySQL定时备份数据库及数据恢复详解

    Navicat for MySQL定时备份数据库及数据恢复详解

    这篇文章主要介绍了Navicat for MySQL定时备份数据库及数据恢复的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • MySQL SQL性能分析之慢查询日志、explain使用详解

    MySQL SQL性能分析之慢查询日志、explain使用详解

    这篇文章主要介绍了MySQL SQL性能分析 慢查询日志、explain使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • MySQL Semaphore wait has lasted使用详解

    MySQL Semaphore wait has lasted使用详解

    MySQL 5.7.19 Semaphore wait >600秒错误源于InnoDB线程等待信号量超时,常见于死锁、资源竞争或IO瓶颈,排查需检查长事务、高并发写入、磁盘性能及数据页损坏,建议升级至5.7或8.0版本以修复问题
    2025-07-07
  • mysql count提高方法总结

    mysql count提高方法总结

    在本文里小编给大家分享了关于mysql count提高方法和具体步骤,需要的朋友们跟着学习参考下。
    2019-03-03
  • mysql使用source 命令乱码问题解决方法

    mysql使用source 命令乱码问题解决方法

    从windows上导出一个sql执行文件,再倒入到unbutn中,结果出现乱码,折腾7-8分钟,解决方式在导出mysql sql执行文件的时候,指定一下编码格式
    2013-04-04
  • mysql中ALTER CONVERSION使用场景

    mysql中ALTER CONVERSION使用场景

    本文主要介绍了mysql中ALTER CONVERSION使用场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05

最新评论