суббота, 29 сентября 2012 г.

mysql: сколько занимает база/таблица

Иногда надо посмотреть, сколько места занимают все базы, для myISAM это можно сделать через du. Но чаще нужно, сколько занимает 1 база или даже таблица.

Размер таблицы:
show table status like '%table%'
и ищем Data_length плюс Index_length (размер данных и индексов)

Для myisam можно опять же посмотреть на размер файлов этой таблицы. Для innodb - если режим "файл на таблицу", так же, иначе - только через table status.

Посчитать размер индекса:
SELECT TABLE_SCHEMA, SUM(INDEX_LENGTH) FROM information_schema.TABLES GROUP BY TABLE_SCHEMA;
Так сделано вроде в ispmanager.

Для размера базы - или считаем через du для myisam, или через show table status и сложением для innodb без разбиения по файлам.

Комментариев нет:

Отправить комментарий