今天就跟大家聊聊有關(guān)MySQL中怎么查看表占用空間大小,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)專(zhuān)業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專(zhuān)業(yè)提供成都服務(wù)器托管,服務(wù)器租用,成都托管服務(wù)器,成都托管服務(wù)器,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。
代碼
1,切換數(shù)據(jù)庫(kù)
use information_schema;
2,查看數(shù)據(jù)庫(kù)使用大小
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è),親測(cè)可用:
先進(jìn)去MySQL自帶管理庫(kù):information_schema
然后查詢 data_length,index_length
你自己的數(shù)據(jù)庫(kù)名: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ù)庫(kù)容量大小
select table_schema as '數(shù)據(jù)庫(kù)', 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ù)庫(kù)各表容量大小 ```sql select table_schema as '數(shù)據(jù)庫(kù)', 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ù)庫(kù)容量大小
例:查看mysql庫(kù)容量大小
select table_schema as '數(shù)據(jù)庫(kù)', 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ù)庫(kù)各表容量大小
例:查看mysql庫(kù)各表容量大小
select table_schema as '數(shù)據(jù)庫(kù)', 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)容,你們對(duì)MySQL中怎么查看表占用空間大小有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。