MySQL查询数据库大小

时间:2012-08-07 18:31:08

标签: mysql sql database size storage

我是否可以使用查询或函数来确定MySQL中数据库的大小?如果不是在MySQL中找到数据库大小的典型方法是什么?

我正在使用Google搜索并找到SELECT CONCAT(sum(ROUND(((DATA_LENGTH + INDEX_LENGTH - DATA_FREE) / 1024 / 1024),2))," MB") AS Size FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA like '%YOUR_DB_NAME%' ;

它返回一个我知道400MB为474989023196466.25 MB的数据库!

3 个答案:

答案 0 :(得分:23)

尝试使用此查询:

SELECT table_schema AS "Data Base Name", 
sum( data_length + index_length ) / 1024 / 1024 AS "Data Base Size in MB" 
FROM information_schema.TABLES GROUP BY table_schema ;

或者,如果你想要ROUND:

SELECT table_schema AS "Data Base Name", 
ROUND(SUM( data_length + index_length ) / 1024 / 1024, 2) AS "Data Base Size in MB" 
FROM information_schema.TABLES GROUP BY table_schema ;

答案 1 :(得分:3)

尝试:

SELECT table_schema, sum(data_length + index_length) FROM information_schema.TABLES GROUP BY table_schema;

答案 2 :(得分:0)

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;