您好,登錄后才能下訂單哦!
小編給大家分享一下MySQL語句怎樣查看各個數(shù)據(jù)庫占用空間的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
select table_schema, sum(DATA_LENGTH)+sum(INDEX_LENGTH) from information_schema.tables group by table_schema;
在需要備份數(shù)據(jù)庫里面的數(shù)據(jù)時,我們需要知道數(shù)據(jù)庫占用了多少磁盤大小,可以通過一些sql語句查詢到整個數(shù)據(jù)庫的容量,也可以單獨(dú)查看表所占容量。(推薦課程:MySQL視頻教程)
1、要查詢表所占的容量,就是把表的數(shù)據(jù)和索引加起來就可以了
select sum(DATA_LENGTH)+sum(INDEX_LENGTH) from information_schema.tables where table_schema='數(shù)據(jù)庫名';
上面獲取的結(jié)果是以字節(jié)為單位的,可以通過%1024在%1024的到M為單位的結(jié)果。
2、查詢所有的數(shù)據(jù)大小
select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from tables; -- 查詢所有的數(shù)據(jù)大小
3、查詢某個表的數(shù)據(jù)
select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from tables where table_schema=’數(shù)據(jù)庫名’ AND table_name=’表名’;
在mysql中有一個information_schema數(shù)據(jù)庫,這個數(shù)據(jù)庫中裝的是mysql的元數(shù)據(jù),包括數(shù)據(jù)庫信息、數(shù)據(jù)庫中表的信息等。所以要想查詢數(shù)據(jù)庫占用磁盤的空間大小可以通
過對information_schema數(shù)據(jù)庫進(jìn)行操作。
information_schema中的表主要有:
schemata表:這個表里面主要是存儲在mysql中的所有的數(shù)據(jù)庫的信息
tables表:這個表里存儲了所有數(shù)據(jù)庫中的表的信息,包括每個表有多少個列等信息。
columns表:這個表存儲了所有表中的表字段信息。
statistics表:存儲了表中索引的信息。
user_privileges表:存儲了用戶的權(quán)限信息。
schema_privileges表:存儲了數(shù)據(jù)庫權(quán)限。
table_privileges表:存儲了表的權(quán)限。
column_privileges表:存儲了列的權(quán)限信息。
character_sets表:存儲了mysql可以用的字符集的信息。
collations表:提供各個字符集的對照信息。
collation_character_set_applicability表:相當(dāng)于collations表和character_sets表的前兩個字段的一個對比,記錄了字符集之間的對照信息。
table_constraints表:這個表主要是用于記錄表的描述存在約束的表和約束類型。
key_column_usage表:記錄具有約束的列。
routines表:記錄了存儲過程和函數(shù)的信息,不包含自定義的過程或函數(shù)信息。
views表:記錄了視圖信息,需要有show view權(quán)限。
triggers表:存儲了觸發(fā)器的信息,需要有super權(quán)限。
以上是MySQL語句怎樣查看各個數(shù)據(jù)庫占用空間的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。