Ответ 1
Накладные расходы в PHPMyAdmin вычисляются столбцом "Data_free", возвращаемым SHOW TABLE STATUS. Фактически это объясняется в документации MySQL: http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html
Data_free: количество выделенных, но неиспользуемых байтов.
Начиная с MySQL 5.1.24, эта информация также показана для InnoDB таблицы (ранее это было в значении Comment). Отчеты таблиц InnoDB свободное пространство табличного пространства, к которому принадлежит таблица. Для таблицу, расположенную в общем табличном пространстве, это свободное пространство общее табличное пространство. Если вы используете несколько табличных пространств и таблицу имеет собственное табличное пространство, свободное пространство предназначено только для этой таблицы. Свободно пространство означает количество полностью свободных 1 Мб экстентов минус безопасность поле. Даже если свободное пространство отображается как 0, может быть возможно вставить строк, если не нужно выделять новые экстенты.
Однако для InnoDB это важно. "Таблицы InnoDB сообщают о свободном пространстве табличного пространства, к которому принадлежит таблица. Для таблицы, расположенной в общем пространстве таблиц, это свободное пространство общего табличного пространства". Таким образом, с типичной установкой InnoDB ( "innondb_file_per_table" не задано) вы получите свободное пространство для всех таблиц, а не для одной таблицы. Вероятно, поэтому phpMyAdmin игнорирует/отбрасывает информацию или в таблице оптимизации ничего не происходит.
Вы должны прочитать этот пост, в котором четко объясняется, как оптимизировать таблицу в innodb.