2009-03-23 5 views
3

est-ce que quelqu'un sait pourquoi je reçois un surcoût de 131,0 MiB sur une table nouvellement créée (zéro rangées)? im en utilisant admin phpmy et le code de mon script esthaut frais généraux dans la nouvelle table mysql

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

merci à l'avance.

+0

merci à tous pour la réponse rapide, mais devrais-je être préoccupé par les frais généraux élevés dans ce cas? Je vois que dans toutes mes tables j'ai créé arrive la même chose, merci –

+0

Vous devriez obtenir un mac ... –

Répondre

4

InnoDB utilise un espace table partagé. Cela signifie que par défaut toutes les tables indépendamment de la base de données sont stockées dans un seul fichier dans le système de fichiers. Cela diffère de MyISAM par exemple, qui stocke chaque table dans un seul fichier.

Le comportement d'InnoDB peut être modifié, bien que je ne pense pas que ce soit vraiment nécessaire dans ce cas. Voir Using Per-Table Tablespaces. Le surcoût est probablement l'espace laissé par les lignes supprimées, et InnoDB le réutilisera lorsque vous insérerez de nouvelles données. Ce n'est pas inquiétant.

+0

merci à tous pour la réponse rapide, mais devrais-je être inquiet pour les frais généraux élevés dans ce cas? Je vois que dans toutes mes tables, j'ai créé la même chose, merci –

0

Il est peut-être parce que MySQL a généré un index sur « idRol »

Le stockage d'un index prend un peu d'espace, mais je ne suis pas sûr que ce soit la raison. Ce n'est qu'une supposition. Je ne suis pas un DBA.

+0

Il a dit que la table a 0 lignes. –

Questions connexes