有谁知道为什么我在新创建的表(零行)上得到 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;
提前致谢。
InnoDB 使用共享表空间。这意味着默认情况下,无论数据库如何,所有表都存储在文件系统中的单个文件中。这与例如将每个表存储为单个文件的 MyISAM 不同。
InnoDB 的行为是可以改变的,虽然我认为在这种情况下没有必要。请参阅使用每表表空间。
开销可能是删除行留下的空间,InnoDB 会在你插入新数据时重用它。这没什么好担心的。
这可能是因为 mysql 在 'idRol' 上生成了一个索引
存储索引需要一些空间,但我不确定这是否是原因。这只是一个猜测。我不是 DBA。