3

有谁知道为什么我在新创建的表(零行)上得到 131.0 MiB 的开销?我正在使用 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;

提前致谢。

4

2 回答 2

4

InnoDB 使用共享表空间。这意味着默认情况下,无论数据库如何,所有表都存储在文件系统中的单个文件中。这与例如将每个表存储为单个文件的 MyISAM 不同。

InnoDB 的行为是可以改变的,虽然我认为在这种情况下没有必要。请参阅使用每表表空间

开销可能是删除行留下的空间,InnoDB 会在你插入新数据时重用它。这没什么好担心的。

于 2009-03-23T18:30:56.757 回答
0

这可能是因为 mysql 在 'idRol' 上生成了一个索引

存储索引需要一些空间,但我不确定这是否是原因。这只是一个猜测。我不是 DBA。

于 2009-03-23T18:29:55.090 回答