mysql - 如何获取 MySQL 数据库表的大小?

我可以运行这个查询来获取 MySQL 数据库中所有表的大小:

show table status from myDatabaseName;

我需要一些帮助来理解结果。我正在寻找尺寸最大的 table 。

我应该看哪一栏?

最佳答案

您可以使用此查询来显示表的大小(尽管您需要先替换变量):

SELECT 
    table_name AS `Table`, 
    round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` 
FROM information_schema.TABLES 
WHERE table_schema = "$DB_NAME"
    AND table_name = "$TABLE_NAME";

或者这个查询列出每个数据库中每个表的大小,最大的在前:

SELECT 
     table_schema as `Database`, 
     table_name AS `Table`, 
     round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` 
FROM information_schema.TABLES 
ORDER BY (data_length + index_length) DESC;

https://stackoverflow.com/questions/9620198/

相关文章:

mysql - 在 MySQL 中查找重复值

mysql - 在 MySQL 中查找重复记录

mysql - 主机 'xxx.xx.xxx.xxx' 不允许连接到这个 MySQL 服务器

sql - 加入与子查询

mysql - 如何在 MySQL 中找到所有具有特定列名的表?

mysql - 复制 MySQL 表、索引和数据

mysql - 'SELECT' 语句中的 'IF' - 根据列值选择输出值

mysql - 插入 MySQL 表或更新(如果存在)

mysql - TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT 最大存储大小

mysql - 如何在 MYSQL 中选择具有 MAX(列值)和 PARTITION 的行?