溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時(shí)間:2021-07-13 16:17:46 來源:億速云 閱讀:246 作者:Leah 欄目:數(shù)據(jù)庫

今天就跟大家聊聊有關(guān)MySQL中怎么查看表占用空間大小,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

代碼

1,切換數(shù)據(jù)庫

use information_schema;

2,查看數(shù)據(jù)庫使用大小

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’;

網(wǎng)上找的一個(gè),親測可用:

  •  先進(jìn)去MySQL自帶管理庫:information_schema

  •  然后查詢 data_length,index_length

  •  你自己的數(shù)據(jù)庫名: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.查看所有數(shù)據(jù)庫容量大小

select  table_schema as '數(shù)據(jù)庫',  sum(table_rows) as '記錄數(shù)',  sum(truncate(data_length/1024/1024, 2)) as '數(shù)據(jù)容量(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.查看所有數(shù)據(jù)庫各表容量大小  ```sql  select  table_schema as '數(shù)據(jù)庫',  table_name as '表名',  table_rows as '記錄數(shù)',  truncate(data_length/1024/1024, 2) as '數(shù)據(jù)容量(MB)',  truncate(index_length/1024/1024, 2) as '索引容量(MB)'  from information_schema.tables  order by data_length desc, index_length desc;

3.查看指定數(shù)據(jù)庫容量大小

例:查看mysql庫容量大小

select  table_schema as '數(shù)據(jù)庫',  sum(table_rows) as '記錄數(shù)',  sum(truncate(data_length/1024/1024, 2)) as '數(shù)據(jù)容量(MB)',  sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'  from information_schema.tables  where table_schema='mysql';

4.查看指定數(shù)據(jù)庫各表容量大小

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

select  table_schema as '數(shù)據(jù)庫',  table_name as '表名',  table_rows as '記錄數(shù)',  truncate(data_length/1024/1024, 2) as '數(shù)據(jù)容量(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

看完上述內(nèi)容,你們對MySQL中怎么查看表占用空間大小有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)
AI