如果想知道MySQL數據庫中每個表占用的空間、表記錄的行數的話,可以打開MySQL的 information_schema 數據庫。在該庫中有一個 TABLES 表,這個表主要字段分別是:
TABLE_SCHEMA : 數據庫名
TABLE_NAME:表名
ENGINE:所使用的存儲引擎
TABLES_ROWS:記錄數
DATA_LENGTH:數據大小
INDEX_LENGTH:索引大小
其他字段請參考MySQL的手冊,這幾個字段對我們來說最有用。
一個表占用空間的大小,相當於是 數據大小 + 索引大小,
示例:
1.想查看hx庫的所有表大小,可以使用:
復制代碼 代碼如下:
SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='hx';
+-------------------+--------------------------+------------+
| TABLE_NAME | DATA_LENGTH+INDEX_LENGTH | TABLE_ROWS |
+-------------------+--------------------------+------------+
| enjoy_data | 6979584 | 70113 |
| hx_record | 113410048 | 753279 |
| itlearner_record | 21835546624 | 104917777 |
| tmp_day_id | 17326 | 811 |
+-------------------+--------------------------+------------+
2.想查看hx庫的enjoy表大小,可以使用:
復制代碼 代碼如下:
SELECT DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='hx' AND TABLE_NAME = 'enjoy_data';
返回:
復制代碼 代碼如下:
+--------------------------+------------+
| DATA_LENGTH+INDEX_LENGTH | TABLE_ROWS |
+--------------------------+------------+
| 6979584 | 70113 |
+--------------------------+------------+