Question

I possède une table avec des colonnes, un smallint, un nombre entier et deux flotteurs. La mémoire prévue pour chaque rangée est 14bytes (2 + 4 + 2 * 4). J'ai environ 700 000 lignes dans ma table. Je me suis fixé aucune clé primaire et indices. Bien que le type MyISAM prend environ 10 Mo (moyenne de 15b pour chaque ligne), le type InnoDB prend plus de 30Mo (moyenne de 44b). Qu'est-ce que j'oublie ici? Would InnoDB ont tellement des frais généraux pour chaque ligne, ou sont la table numéro d'état de ne pas faire confiance. J'ai besoin pour stocker des données qui se déroulera dans le SGB, si besoin de décider du type de stockage en pondérant différents paramètres.

Était-ce utile?

La solution

tables InnoDB ne prennent plus de place par rapport à MyISAM. Que ce soit le compromis entre l'utilisation de stockage et les fonctionnalités offertes par InnoDB (crash-sécurité, les transactions et les clés étrangères) favorise InnoDB est quelque chose que vous devrez décider. Ayant moi-même passé de MyISAM à InnoDB, je n'y retournerais pas.

Il convient de noter que si vous allez aller de l'avant et d'utiliser InnoDB, vous voudrez certainement définir une clé primaire (et idéalement une courte). Cela est dû à la façon dont se comporte InnoDB de stockage et d'autres indices WRT. Voir cette page .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top