Стала задача, з'ясувати таблиці та індекси займають більш за все місця. Одне з можливих рішень - запит до самої БД:
Отримуємо вивід на кшталт наступного:
SELECT CONCAT(table_schema, '.', table_name), CONCAT(ROUND(table_rows / 1000000, 2), 'M') rows, CONCAT(ROUND(data_length / ( 1024 * 1024 * 1024 ), 2), 'G') DATA, CONCAT(ROUND(index_length / ( 1024 * 1024 * 1024 ), 2), 'G') idx, CONCAT(ROUND(( data_length + index_length ) / ( 1024 * 1024 * 1024 ), 2), 'G') total_size, ROUND(index_length / data_length, 2) idxfrac FROM information_schema.TABLES ORDER BY data_length + index_length DESC LIMIT 10;
Отримуємо вивід на кшталт наступного:
+---------------------------------------+---------+--------+-------+------------+---------+ | CONCAT(table_schema, '.', table_name) | rows | DATA | idx | total_size | idxfrac | +---------------------------------------+---------+--------+-------+------------+---------+ | zabbix.history_uint | 492.87M | 12.36G | 9.40G | 21.76G | 0.76 | | zabbix.trends_uint | 38.00M | 1.55G | 0.81G | 2.36G | 0.52 | | zabbix.events | 8.82M | 0.84G | 1.09G | 1.93G | 1.30 | | zabbix.history | 20.60M | 0.89G | 0.76G | 1.65G | 0.85 | | zabbix.event_recovery | 2.69M | 0.35G | 0.31G | 0.66G | 0.89 | | zabbix.problem | 1.40M | 0.20G | 0.26G | 0.46G | 1.29 | | zabbix.items | 0.11M | 0.10G | 0.03G | 0.12G | 0.27 | | zabbix.history_str | 0.97M | 0.08G | 0.04G | 0.11G | 0.46 | | zabbix.trends | 1.07M | 0.04G | 0.02G | 0.06G | 0.53 | | zabbix.triggers | 0.05M | 0.03G | 0.00G | 0.03G | 0.16 | +---------------------------------------+---------+--------+-------+------------+---------+ 10 rows in set (8.62 sec)