时间:2021-07-01 10:21:17 帮助过:9人阅读
举例说明,如果数据库管理人员想要知道某个MySQL数据库实例中存储空间的概况,那么可以通过执行如下的对数据字典的查询来实现:
mysql> SELECT a.schema_name db_name,
-> IFNULL(ROUND((SUM(b.data_length)+SUM(b.index_length))/1024/1024,2),0.00)
-> total_size_mb,
-> IFNULL(ROUND(((SUM(b.data_length)+SUM(b.index_length))-
-> SUM(b.data_free))/1024/1024,2),0.00) data_used_mb,
-> IFNULL(ROUND(SUM(data_free)/1024/1024,2),0.00) data_free_mb,
-> IFNULL(ROUND((((SUM(b.data_length)+SUM(b.index_length))-SUM(b.data_free))/
-> ((SUM(b.data_length)+SUM(b.index_length)))*100),2),0) pct_used,
-> COUNT(table_name) tables
-> FROM information_schema.schemata a
-> LEFT JOIN information_schema.tables b ON a.schema_name = b.table_schema
-> WHERE a.schema_name != 'information_schema'
-> GROUP BY a.schema_name
-> ORDER BY 1;
+---------+---------------+--------------+--------------+----------+--------+
| db_name | total_size_mb | data_used_mb | data_free_mb | pct_used | tables |
+---------+---------------+--------------+--------------+----------+--------+
| gim | 432.67 | 432.67 | 0.00 | 100.00 | 16 |
| gim2 | 8.64 | 8.64 | 0.00 | 100.00 | 6 |
| mysql | 0.33 | 0.33 | 0.00 | 99.69 | 18 |
| test | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
| tpcc | 126.09 | 126.09 | 0.00 | 100.00 | 9 |
+---------+---------------+--------------+--------------+----------+--------+
注意上面的示例中,应该设为不查询字典数据库自身,通过where条件语句来实现。(51CTO.COM教程)