我是否可以使用查询或函数来确定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
的数据库!
答案 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;