首頁 >資料庫 >mysql教程 >mysql怎麼查詢表的大小

mysql怎麼查詢表的大小

WBOY
WBOY原創
2022-03-07 11:36:3432461瀏覽

mysql中,可用“concat(round(sum(DATA_LENGTH/1024/1024),2),'M')”語句配合“where table_schema='資料庫名稱' AND table_name='表格名稱'”語句查詢表的大小。

mysql怎麼查詢表的大小

本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql怎麼查詢表的大小

透過sql語句查詢整個資料庫的容量,或是單獨查看表所佔容量。

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

select sum(DATA_LENGTH)+sum(INDEX_LENGTH) from information_schema.tables where table_schema='数据库名称';

上面獲取的結果是以字節為單位的,可以通過24在 24的到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可以用的字元集的資訊。

  collat​​ions表:提供各個字元集的對照資訊。

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

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

  key_column_usage表:記錄具有限制的欄位。

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

  views表:記錄了檢視訊息,需要有show view權限。

  triggers表:儲存了觸發器的信息,需要有super權限。

推薦學習:mysql影片教學

#

以上是mysql怎麼查詢表的大小的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn