mysql查詢表的資料大小

來源:互聯網
上載者:User

標籤:

在需要備份資料庫裡面的資料時,我們需要知道資料庫佔用了多少磁碟大小,可以通過一些sql語句查詢到整個資料庫的容量,也可以單獨查看錶所佔容量。

  1、要查詢表所佔的容量,就是把表的資料和索引加起來就可以了

select sum(DATA_LENGTH)+sum(INDEX_LENGTH) from information_schema.tables where table_schema=‘資料庫名‘;

  上面擷取的結果是以位元組為單位的,可以通過%1024在%1024的到M為單位的結果。

  2、查詢所有的資料大小

select concat(round(sum(DATA_LENGTH/1024/1024),2),‘M‘) from tables; -- 查詢所有的資料大小

  3、查詢某個表的資料

select concat(round(sum(DATA_LENGTH/1024/1024),2),‘M‘) from tables where table_schema=’資料庫名’ AND table_name=’表名’; 

 

在mysql中有一個information_schema資料庫,這個資料庫中裝的是mysql的中繼資料,包括資料庫資訊、資料庫中表的資訊等。所以要想查詢資料庫佔用磁碟的空間大小可以通

  過對information_schema資料庫進行操作。

information_schema中的表主要有:

  schemata表:這個表裡面主要是儲存在mysql中的所有的資料庫的資訊

  tables表:這個表裡儲存了所有資料庫中的表的資訊,包括每個表有多少個列等資訊。

  columns表:這個表格儲存體了所有表中的表欄位資訊。

  statistics表:儲存了表中索引的資訊。

  user_privileges表:儲存了使用者的許可權資訊。

  schema_privileges表:儲存了資料庫許可權。

  table_privileges表:儲存了表的許可權。

  column_privileges表:儲存了列的許可權資訊。

  character_sets表:儲存了mysql可以用的字元集的資訊。

  collations表:提供各個字元集的對照資訊。

  collation_character_set_applicability表:相當於collations表和character_sets表的前兩個欄位的一個對比,記錄了字元集之間的對照資訊。

  table_constraints表:這個表主要是用於記錄表的描述存在約束的表和約束類型。

  key_column_usage表:記錄具有約束的列。

  routines表:記錄了預存程序和函數的資訊,不包含自訂的過程或函數資訊。

  views表:記錄了視圖資訊,需要有show view許可權。

  triggers表:儲存了觸發器的資訊,需要有super許可權。

mysql查詢表的資料大小

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.