千家信息网

MySQL中怎么查看表占用空间大小

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,今天就跟大家聊聊有关MySQL中怎么查看表占用空间大小,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。代码1,切换数据库use informat
千家信息网最后更新 2024年11月23日MySQL中怎么查看表占用空间大小

今天就跟大家聊聊有关MySQL中怎么查看表占用空间大小,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

代码

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)

1.查看所有数据库容量大小

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;  ```   ### 2.查看所有数据库各表容量大小  ```sql  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;

3.查看指定数据库容量大小

例:查看mysql库容量大小

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='mysql';

4.查看指定数据库各表容量大小

例:查看mysql库各表容量大小

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='mysql'  order by data_length desc, index_length desc;
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

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_v2' and table_name='tb_user_info';

-- 2128.94MB 285.00MB

看完上述内容,你们对MySQL中怎么查看表占用空间大小有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0