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

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


show table status from myDatabaseName;

我想在理解结果方面提供一些帮助。我正在寻找最大尺寸的桌子。


我应该看哪一栏?


子衿沉夜
浏览 551回答 3
3回答

一只萌萌小番薯

您可以使用此查询来显示表的大小(尽管您需要先替换变量):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;

至尊宝的传说

SELECT TABLE_NAME AS "Table Name", table_rows AS "Quant of Rows", ROUND( (data_length + index_length) /1024, 2 ) AS "Total Size Kb"FROM information_schema.TABLESWHERE information_schema.TABLES.table_schema = 'YOUR SCHEMA NAME/DATABASE NAME HERE'LIMIT 0 , 30您可以从“ information_schema ” - > SCHEMATA表 - >“ SCHEMA_NAME ”列中获取模式名称附加 您可以获得如下的mysql数据库大小。SELECT table_schema "DB Name", Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" FROM   information_schema.tables GROUP  BY table_schema; 结果DB Name              |      DB Size in MBmydatabase_wrdp             39.1information_schema          0.0

临摹微笑

SELECT     table_name AS "Table",      round(((data_length + index_length) / 1024 / 1024), 2) as size   FROM information_schema.TABLES  WHERE table_schema = "YOUR_DATABASE_NAME"  ORDER BY size DESC; 这会对大小进行排序(DB大小,以MB为单位)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL