有時候需要查詢MySQL數據庫中各個表大小,該如何操作呢?
MySQL中有一個名爲 information_schema 的數據庫,在該庫中有一個 TABLES 表,這個表主要字段分別是:
TABLE_SCHEMA : 數據庫名
TABLE_NAME:表名
ENGINE:所使用的存儲引擎
TABLES_ROWS:記錄數
DATA_LENGTH:數據大小
INDEX_LENGTH:索引大小
其他字段請參考MySQL的手冊。
use information_schema;
SELECT
TABLE_NAME,
(DATA_LENGTH/1024/1024) as DataM ,
(INDEX_LENGTH/1024/1024) as IndexM,
((DATA_LENGTH+INDEX_LENGTH)/1024/1024) as AllM,
TABLE_ROWS
FROM
TABLES
WHERE
TABLE_SCHEMA = 'develop';
+------------+------------+------------+------------+------------+
| TABLE_NAME | DataM | IndexM | AllM | TABLE_ROWS |
+------------+------------+------------+------------+------------+
| sbtest1 | 2.51562500 | 0.23437500 | 2.75000000 | 9936 |
| test | 0.01562500 | 0.00000000 | 0.01562500 | 4 |
+------------+------------+------------+------------+------------+