Search code examples
mysqloverhead

high overhead in new mysql table


does anyone knows why I get an overhead of 131.0 MiB on a newly created table (zero rows)? im using phpmy admin and the code of my script is

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

thanks in advance.


Solution

  • InnoDB uses a shared table space. That means that per default all the tables regardless of database are stored in a single file in the filesystem. This differs from for example MyISAM which stores every table as a single file.

    The behaviour of InnoDB can be changed, although I don't think it's really necessary in this case. See Using Per-Table Tablespaces.

    The overhead is probably the space left by deleted rows, and InnoDB will reuse it when you insert new data. It's nothing to be concerned about.