Высокие накладные расходы в новой таблице 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.
Хранение индекса занимает некоторое место, но я не уверен, является ли это причиной. Это только предположение. Я не администратор базы данных.