Размер базы данных MySQL Query

Есть ли запрос или функция, которые я могу использовать для определения размера базы данных в MySQL? Если нет, то какой типичный способ найти размер базы данных в MySQL?

Я был googling и нашел 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%' ;

И он возвращает базу данных, которая, как я знаю, составляет 400 МБ, чтобы быть 474989023196466.25 MB!

Ответ 1

Попробуйте с помощью этого запроса:

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 ;

Ответ 2

Try:

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

Ответ 3

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;