MySQL查看表占用空间大小

Posted shoshana-kong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL查看表占用空间大小相关的知识,希望对你有一定的参考价值。

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

代码:

1,切换数据库

use information_schema;

2,查看数据库使用大小

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

3,查看表使用大小

select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables where table_schema=’DB_Name’ and table_name=’Table_Name’;

 

 

 

网上找的一个,亲测可用:

 

//先进去MySQL自带管理库:information_schema  
//然后查询 data_length,index_length
//你自己的数据库名:dbname   
//你自己的表名:tablename  
  
mysql> use information_schema;  
Database changed  
mysql> select data_length,index_length  
    -> from tables where  
    -> table_schema=‘dbname‘  
    -> and table_name = ‘tablename‘;  
+-------------+--------------+  
| data_length | index_length |  
+-------------+--------------+  
|   166379520 |    235782144 |  
+-------------+--------------+  
row in set (0.02 sec)  
  
mysql> select concat(round(sum(data_length/1024/1024),2),‘MB‘) as data_length_MB,  
    -> concat(round(sum(index_length/1024/1024),2),‘MB‘) as index_length_MB  
    -> from tables where  
    -> table_schema=‘dbname‘  
    -> and table_name = ‘tablename‘;  
+----------------+-----------------+  
| data_length_MB | index_length_MB |  
+----------------+-----------------+  
| 158.67MB       | 224.86MB        |  
+----------------+-----------------+  
row in set (0.03 sec)


 
 


select concat(round(sum(data_length/1024/1024),2),‘MB‘) as data_length_MB, concat(round(sum(index_length/1024/1024),2),‘MB‘) as index_length_MB
from tables
where table_schema=‘passport‘ and table_name=‘tb_user_info‘;
-- 569.98MB 141.98MB

以上是关于MySQL查看表占用空间大小的主要内容,如果未能解决你的问题,请参考以下文章

如何在Oracle中查看各个表,表空间占用空间的大小

如何在Oracle中查看各个表,表空间占用空间的大小

oracle 查询出 表的空间大小 占用存储空间

如何在Oracle中查看各个表,表空间占用空间的大小

Oracle查看表占用空间

Oracle查看表占用空间