2013-03-19 3 views
3

На моем сервере имеется 6 баз данных.Размер всех индексов в базе данных mysql

В phpmyadmin я могу просмотреть список таблиц, содержащих базу данных, и увидеть такие вещи, как # записей, имя таблицы, тип таблицы и т. Д. Он также показывает размер и общий размер. Общий размер одной базы данных - 5 концертов и 80 разных таблиц.

Я хочу знать, сколько из этих 5 концертов связано с моими индексами. Я могу щелкнуть по столу и посмотреть детали там. Теоретически, если бы я сделал это 80 раз, один раз за каждый стол, то добавил его, я бы получил свой ответ.

Есть ли способ (в phpmyadmin или SSH), чтобы получить ответ о том, сколько пространства объединенные индексы одной таблицы mysql? Было бы даже лучше, если бы я мог увидеть список за столом, а также подвести итог.

Заранее спасибо.

+0

http://stackoverflow.com/questions/781873/how-to-figure-out-size-of-indexes-in-mysql – Greg

+0

Да, Я прочитал этот вопрос, прежде чем публиковать его. Я не видел, как я могу видеть размер индекса только для всего db (или по таблице, но показывая все таблицы) .... Я не ищу статус таблицы, а весь статус db. Я пропустил это? – Kevin

ответ

4

Это отличный вопрос, и да, его можно просмотреть на уровне базы данных.

информация проводится в INFORMATION_SCHEMA таблице

SELECT table_name, 
concat(round(data_length/(1024 *1024) , 2) , 'Mb') AS 'data_length_mb', 
concat(round(index_length/(1024 *1024) , 2) , 'Mb') AS 'index_length_mb', 
concat(round(round(data_length + index_length)/(1024 *1024) , 2) , 'Mb') AS 'total_size_mb' 
FROM information_schema.tables 
WHERE table_schema ='your_db_name' 
ORDER BY data_length desc; 
+1

потрясающий! Это именно то, чего я хотел. Спасибо чувак. – Kevin

Смежные вопросы