良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

获得MySQL数据库的表的大小

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.TABLES

WHERE 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 MB

mydatabase_wrdp             39.1

information_schema          0.0




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


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;


作者:良玉 分类:Mysql 浏览:132 评论:0
留言列表
发表评论
来宾的头像