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查看表占用空间大小内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • explain执行计划需要关注的几个关键字段详细解释

    explain执行计划需要关注的几个关键字段详细解释

    这篇文章主要介绍了explain执行计划需要关注的几个关键字段的相关资料,EXPLAIN是MySQL性能优化的关键工具,它提供了查询执行计划的详细信息,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-02-02
  • windows下安装mysql8.0.18的教程(社区版)

    windows下安装mysql8.0.18的教程(社区版)

    本文章简单介绍一下mysql在windows下的安装方式,主要介绍了mysql社区版8.0.18版本,本文给大家介绍的非常详细,需要的朋友参考下吧
    2020-01-01
  • Mysql中几种插入效率的实例对比

    Mysql中几种插入效率的实例对比

    这篇文章通过实例跟大家介绍了Mysql中几种插入方法的效率对比,这其中包括逐条插入、基于事务的批量插入、单条语句一次插入多组数据以及导入数据文件等四种方法的对比,文中通过实例代码介绍很详细,需要的朋友们下来来一起看看吧。
    2017-04-04
  • MySQL数据库自动补全命令的三种方法

    MySQL数据库自动补全命令的三种方法

    这篇文章主要介绍了MySQL数据库自动补全命令的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • RHEL7.5下mysql 8.0.11安装教程

    RHEL7.5下mysql 8.0.11安装教程

    这篇文章主要为大家详细介绍了RHEL7.5下mysql 8.0.11安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • MySQL索引的优化之LIKE模糊查询功能实现

    MySQL索引的优化之LIKE模糊查询功能实现

    这篇文章主要介绍了MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-04-04
  • MySQL 备份失败的问题:undo log 清理耗时10 小时的问题解决

    MySQL 备份失败的问题:undo log 清理耗时10 小时的问题解决

    本文将结合实际案例,剖析MySQL 8.0.18 环境下,因undo log清理耗时过长导致全备失败的故障成因与解决路径,并探讨智能工具在数据库故障诊断中的应用价值,感兴趣的朋友一起看看吧
    2025-06-06
  • sql在一个表中添加字段并添加备注的方法

    sql在一个表中添加字段并添加备注的方法

    在本篇文章里小编给大家分享了sql在一个表中添加字段并添加备注的方法的内容,有需要的朋友们可以参考学习下。
    2019-08-08
  • mysql8.0.11数据目录迁移的实现

    mysql8.0.11数据目录迁移的实现

    这篇文章主要介绍了mysql8.0.11数据目录迁移的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • MySQL 视图(View)原理解析

    MySQL 视图(View)原理解析

    本篇重点讲述视图是如何实现的,以及视图如何和查询优化器交互,从而我们可以根据这些知识了解如何通过视图提高性能。
    2021-05-05

最新评论