Frage

hat jemand weiß, warum ich einen Overhead von 131,0 MiB auf einer neu erstellten Tabelle (null Zeilen) bekommen? im mit phpmy admin und der Code von meinem Skript ist

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

Vielen Dank im Voraus.

War es hilfreich?

Lösung

InnoDB verwendet einen gemeinsamen Tabellenplatz. Das bedeutet, dass standardmäßig alle Tabellen unabhängig von der Datenbank in einer einzigen Datei im Dateisystem gespeichert. Dies unterscheidet sich von zum Beispiel MyISAM, die jede Tabelle als eine einzelne Datei gespeichert werden.

Das Verhalten von InnoDB kann geändert werden, obwohl ich nicht glaube, es in diesem Fall wirklich notwendig ist. Siehe Mit Per-Tabelle Tabellen .

Der Aufwand ist wahrscheinlich der Raum, der von gelöschten Zeilen links, und InnoDB wird es wieder verwenden, wenn Sie neue Daten einfügen. Es ist nichts zu besorgt sein.

Andere Tipps

Es könnte sein, weil mysql einen Index für 'idRol' erzeugt

einen Index Speicher dauert etwas Platz, aber ich bin nicht sicher, ob dies der Grund ist. Es ist nur eine Vermutung. Ich bin kein DBA.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top