如何查找 MySQL 数据库的大小

MySQL中,如何查看当前数据库的大小。

最简单的方法是查询 INFORMATION_SCHEMA 。
例如:

SELECT ENGINE, COUNT(*), SUM(DATA_LENGTH), SUM(INDEX_LENGTH)
FROM information_schema.TABLES
WHERE TABLE_SCHEMA='menagerie'
GROUP BY ENGINE;

此外,这里有一个可能更快的示例来估计数据库大小(仅限 InnoDB 并且如果我们不使用压缩表),因为它不使用 INFORMATION_SCHEMA.TABLES :

select sum( CLUST_INDEX_SIZE + OTHER_INDEX_SIZE)* @@innodb_page_size / 1024 / 1024 "Estimated size in Mb" from information_schema.INNODB_SYS_TABLESTATS where name like 'test/%';
+----------------------+
| Estimated size in Mb |
+----------------------+
| 541.92187500 |
+----------------------+
1 row in set (0.00 sec)
日期:2020-09-17 00:11:08 来源:oir作者:oir