Высокие накладные расходы в новой таблице MySQL

Кто-нибудь знает, почему я получаю накладные расходы 131,0 МБ на вновь созданной таблице (ноль строк)? я использую phpmy admin и код моего скрипта

CREATE  TABLE IF NOT EXISTS `mydb`.`mytable` (
  `idRol` INT NOT NULL AUTO_INCREMENT ,
  `Rol` VARCHAR(45) NOT NULL ,
  PRIMARY KEY (`idRol`) )
ENGINE = InnoDB;

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

2 ответа

Решение

InnoDB использует общее табличное пространство. Это означает, что по умолчанию все таблицы независимо от базы данных хранятся в одном файле в файловой системе. Это отличается от, например, MyISAM, который хранит каждую таблицу в виде одного файла.

Поведение InnoDB может быть изменено, хотя я не думаю, что это действительно необходимо в этом случае. См. Использование табличных пространств для каждой таблицы.

Издержки, вероятно, - это пространство, оставленное удаленными строками, и InnoDB будет использовать его при вставке новых данных. Это не о чем беспокоиться.

Возможно, это связано с тем, что mysql сгенерировал индекс для idRol.

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

Другие вопросы по тегам