высокие накладные расходы в новой таблице MySQL - PullRequest
3 голосов
/ 23 марта 2009

Кто-нибудь знает, почему я получаю накладные расходы в 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 ]

4 голосов
/ 23 марта 2009

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

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

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

0 голосов
/ 23 марта 2009

Это может быть потому, что mysql сгенерировал индекс для 'idRol'

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

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