
Размер базы/таблицы в Mysql
В моей статье «Размер базы/таблицы в Mysql» я хочу рассказать о том, как можно в удобной форме проверить размер базы/таблицы в mysql. Приведу несколько наглядных примеров, чтобы можно было наглядно все увидеть.
Размер базы в Mysql
Чтобы проверить размер базы данных в красивой форме и в мб., выполните:
mysql> SELECT table_schema "databases name", sum( data_length + index_length) / 1024 / 1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ;
Например:
mysql> SELECT table_schema "databases name", sum( data_length + index_length) / 1024 / 1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ; +-----------------------+----------------------+ | databases name | Data Base Size in MB | +-----------------------+----------------------+ | bail_upgrade_prod | 1237.34664917 | | bail_wordpress | 8.83991909 | | information_schema | 0.00976563 | | mysql | 3.07841969 | | performance_schema | 0.00000000 | +-----------------------+----------------------+ 5 rows in set (0.01 sec)
Или вот подобная команда:
mysql> 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; +-----------------------+---------------+ | DB Name | DB Size in MB | +-----------------------+---------------+ | bail_upgrade_prod | 1237.4 | | bail_wordpress | 8.8 | | information_schema | 0.0 | | mysql | 3.1 | | performance_schema | 0.0 | +-----------------------+---------------+ 5 rows in set (0.01 sec)
ИЛИ:
mysql> select table_schema, sum(round(data_length/1024/1024,2)) as total_size_mb from information_schema.tables where table_schema like 'zabbix' and engine like 'innodb' group by table_schema;
Где, zabbix — это имя базы данных.
Размер таблицы в Mysql
Чтобы проверить размер таблицы в красивой форме и в мб., выполните:
mysql> SELECT table_schema as `Database`, table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES ORDER BY (data_length + index_length);
Или в отсортированном виде (для всех БД ивсех таблиц):
mysql> SELECT table_schema as `Database`, table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES ORDER BY (data_length + index_length) DESC;
Или, чтобы посмотреть размер таблиц определенной БД:
> SELECT table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES WHERE table_schema = "Your_DB_Name";
Your_DB_Name — Имя вашей БД.
ИЛИ
mysql> SELECT table_name AS "Tables", round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME" ORDER BY (data_length + index_length) DESC; +-----------------------+------------+ | Tables | Size in MB | +-----------------------+------------+ | history_uint | 132119.33 | | history | 16334.34 | | trends_uint | 11221.42 | | history_text | 10327.91 | | trends | 3243.41 | | events | 1921.77 | | alerts | 420.63 | | history_str | 110.39 |
Вот и все, тема «Размер базы/таблицы в Mysql» завершена.