📜  获取 mysql 服务器中的所有 db 大小 - SQL (1)

📅  最后修改于: 2023-12-03 15:27:47.866000             🧑  作者: Mango

获取 MySQL 服务器中的所有 DB 大小 - SQL

在日常开发中,我们需要了解 MySQL 服务器上数据库的大小,以便进行性能优化和容量规划。本文将介绍如何使用 SQL 查询来获取 MySQL 服务器中的所有数据库大小。

查询语句

以下是获取 MySQL 服务器中所有数据库大小的 SQL 查询语句:

SELECT 
    table_schema as `Database`, 
    sum(round(((data_length + index_length) / 1024 / 1024), 2)) `Size in MB` 
FROM 
    information_schema.tables 
GROUP BY 
    table_schema;
代码解释

上述查询语句包含以下内容:

  • FROM:使用 information_schema.tables 表来查询 MySQL 服务器上的所有数据库大小。
  • SELECT:查询结果包含两列,第一列是数据库名(table_schema),第二列是数据库大小(data_lengthindex_length 的和)。Size in MB 为查询结果列的别名,用于更好的可读性。
  • GROUP BY:按数据库名分组,以获取每个数据库的总大小。
返回数据

运行上述查询语句,返回以下结果:

|Database |Size in MB| |---------|----------| |mysql |0.62 | |performance_schema |0.00| |sys |0.00 | |test |0.09 |

上述结果显示了 MySQL 服务器中的所有数据库大小,以 MB 为单位。

结论

使用上述 SQL 查询语句,我们可以轻松地获取 MySQL 服务器上的所有数据库大小。此查询对于容量规划和性能优化非常有用。