MySQL查询数据库大小

10 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!

ale*_*oot 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 ;
Run Code Online (Sandbox Code Playgroud)

或者,如果你想要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 ;
Run Code Online (Sandbox Code Playgroud)