有时候需要查询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 =
'db_ip'
;
|