Mysql
 sql >> Base de données >  >> RDS >> Mysql

Nombre maximum d'enregistrements dans une table de base de données MySQL

La plus grande valeur d'un entier n'a pas grand-chose à voir avec le nombre maximal de lignes que vous pouvez stocker dans une table.

Il est vrai que si vous utilisez un int ou un bigint comme clé primaire, vous ne pouvez avoir qu'autant de lignes que le nombre de valeurs uniques dans le type de données de votre clé primaire, mais vous n'avez pas besoin de faire de votre clé primaire un entier , vous pouvez en faire un CHAR(100). Vous pouvez également déclarer la clé primaire sur plusieurs colonnes.

Outre le nombre de lignes, il existe d'autres contraintes sur la taille de la table. Par exemple, vous pouvez utiliser un système d'exploitation qui a une limitation de taille de fichier. Ou vous pourriez avoir un disque dur de 300 Go qui ne peut stocker que 300 millions de lignes si chaque ligne a une taille de 1 Ko.

Les limites de taille de la base de données sont vraiment élevées :

http://dev.mysql.com/doc /refman/5.1/en/source-configuration-options.html

Le moteur de stockage MyISAM prend en charge 2 lignes par table, mais vous pouvez construire MySQL avec le --with-big-tables possibilité de lui faire prendre en charge jusqu'à 2 lignes par table.

http://dev.mysql.com/doc/refman /5.1/fr/innodb-restrictions.html

Le moteur de stockage InnoDB a un ID de ligne interne de 6 octets par table, il y a donc un nombre maximum de lignes égal à 2 ou 281 474 976 710 656.

Un espace de table InnoDB a également une limite de taille de table de 64 téraoctets. Le nombre de lignes qui s'y intègrent dépend de la taille de chaque ligne.

La limite de 64 To suppose une taille de page par défaut de 16 Ko. Vous pouvez augmenter la taille de la page, et donc augmenter le tablespace jusqu'à 256 To. Mais je pense que vous constaterez que d'autres facteurs de performances rendent cela déconseillé bien avant d'agrandir une table à cette taille.