MySQL数据库如何查看表占用空间大小

 更新时间:2022年06月10日 15:44:18   作者:lfwh  
由于数据太大了,所以MYSQL需要瘦身,那前提就是需要知道每个表占用的空间大小,这篇文章主要给大家介绍了关于MySQL数据库如何查看表占用空间大小的相关资料,需要的朋友可以参考下

前言

在mysql中有一个默认的数据表information_schema,information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面,所以请勿删改此表。

1、切换数据库

use information_schema;

2、查看所有数据库容量大小

select
table_schema as '数据库',
sum(table_rows) as '记录数',
sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',
sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'
from information_schema.tables
group by table_schema
order by sum(data_length) desc, sum(index_length) desc;

3、查看指定数据库使用大小

short_video库名 video_info 表名

select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='short_video';

4、查看表使用大小

video_info 表名

select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='short_video' and table_name='video_info';

5、查看所有数据库容量大小

select
table_schema as '数据库',
sum(table_rows) as '记录数',
sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',
sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'
from information_schema.tables
group by table_schema
order by sum(data_length) desc, sum(index_length) desc;

6、查看所有数据库各表容量大小

select
table_schema as '数据库',
table_name as '表名',
table_rows as '记录数',
truncate(data_length/1024/1024, 2) as '数据容量(MB)',
truncate(index_length/1024/1024, 2) as '索引容量(MB)'
from information_schema.tables
order by data_length desc, index_length desc;

7、查看指定数据库容量大小

select
table_schema as '数据库',
sum(table_rows) as '记录数',
sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',
sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'
from information_schema.tables
where table_schema='short_video';

8、查看指定数据库各表容量大小

select
table_schema as '数据库',
table_name as '表名',
table_rows as '记录数',
truncate(data_length/1024/1024, 2) as '数据容量(MB)',
truncate(index_length/1024/1024, 2) as '索引容量(MB)'
from information_schema.tables
where table_schema='short_video'
order by data_length desc, index_length desc;

总结

到此这篇关于MySQL数据库如何查看表占用空间大小的文章就介绍到这了,更多相关MySQL查看表占用空间大小内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql 如何动态修改复制过滤器

    mysql 如何动态修改复制过滤器

    这篇文章主要介绍了mysql 如何动态修改复制过滤器,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下
    2020-11-11
  • Win10系统下MySQL8.0.16 压缩版下载与安装教程图解

    Win10系统下MySQL8.0.16 压缩版下载与安装教程图解

    这篇文章主要介绍了Win10系统下MySQL8.0.16 压缩版下载与安装教程图解,本文图文并茂给大家介绍的非常详细,具有一定的参考解决价值,需要的朋友可以参考下
    2019-06-06
  • 详解MySQL中的视图

    详解MySQL中的视图

    视图是一个虚拟表,非真实存在,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用视图名称即可获取结果集,并可以将其当作表来使用,这篇文章主要介绍了MySQL的视图,需要的朋友可以参考下
    2022-12-12
  • MySQL实现两张表数据的同步

    MySQL实现两张表数据的同步

    本文将介绍mysql 触发器实现两个表的数据同步,需要学习MySQL的童鞋可以参考。
    2016-10-10
  • Mysql快速插入千万条数据的实战教程

    Mysql快速插入千万条数据的实战教程

    这篇文章主要给大家介绍了关于Mysql快速插入千万条数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • MySQL EXPLAIN输出列的详细解释

    MySQL EXPLAIN输出列的详细解释

    这篇文章主要给大家介绍了关于MySQL EXPLAIN输出列的详细解释,文中通过示例代码介绍的非常详细,对大家的学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Mysql中使用Union—多表合并之行合并

    Mysql中使用Union—多表合并之行合并

    这篇文章主要介绍了Mysql中使用Union—多表合并之行合并,如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字,union(或称为联合)的作用是将多个结果合并在一起显示出来,需要的朋友可以参考下
    2023-07-07
  • 记一次MySQL的优化案例

    记一次MySQL的优化案例

    这篇文章主要介绍了记一次MySQL的优化案例,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-10-10
  • mysql非主键自增长用法实例分析

    mysql非主键自增长用法实例分析

    这篇文章主要介绍了mysql非主键自增长用法,结合实例形式分析了MySQL非主键自增长的基本设置、使用方法与操作注意事项,需要的朋友可以参考下
    2020-02-02
  • 通过实例认识MySQL中前缀索引的用法

    通过实例认识MySQL中前缀索引的用法

    这篇文章主要通过实例来介绍MySQL中的前缀索引,包括前缀在实际使用中需要考虑到的长度问题等,需要的朋友可以参考下
    2015-05-05

最新评论