Как найти размер базы данных MySQL

by itisgood

Самый простой способ – это запрос INFORMATION_SCHEMA.

Например:

SELECT ENGINE, COUNT(*), SUM(DATA_LENGTH), SUM(INDEX_LENGTH)
FROM information_schema.TABLES
WHERE TABLE_SCHEMA='menagerie'
GROUP BY ENGINE;

Кроме того, вот потенциально более быстрый пример для оценки размера БД (только для InnoDB и если вы не используете сжатые таблицы), поскольку он не использует INFORMATION_SCHEMA.TABLES:

select sum( CLUST_INDEX_SIZE + OTHER_INDEX_SIZE)* @@innodb_page_size / 1024 / 1024 "Estimated size in Mb" from information_schema.INNODB_SYS_TABLESTATS where name like 'test/%';
+----------------------+
| Estimated size in Mb |
+----------------------+
| 541.92187500 |
+----------------------+
1 row in set (0.00 sec)

 

You may also like

Leave a Comment