MySQL version 3.22 a une limite de 4Go par table. Avec le
nouveau format de table MyISAM
, disponible
avec MySQL version 3.23, la taille maximale des tables a été
poussée à 8 millions de teraoctets (2 ^ 63 octets).
Notez, toutefois, que les systèmes d'exploitation ont leur propres limites. Voici quelques exemples :
Système d'exploitation | Limite |
Linux-Intel 32 bit | 2Go, 4Go ou plus, suivant la version de Linux |
Linux-Alpha | 8To (?) |
Solaris 2.5.1 | 2Go (4Go possibles avec un patch) |
Solaris 2.6 | 4Go (peut être modifié avec une option) |
Solaris 2.7 Intel | 4Go |
Solaris 2.7 UltraSPARC | 512Go |
NetWare avec/NSS | 8TB |
En Linux 2.2, vous pouvez avoir des tables plus grandes que 2Go en utilisant le patch LFS pour les systèmes de fichiers ext2. En Linux 2.4, le patche existe aussi pour ReiserFS. La plupart des distribution Linux courantes sont basées sur un noyau 2.4, et supporte déjà tous les patchs pour les grands fichiers (LFS). Cependant, la taille maximale de fichier dépend de nombreux facteurs, notamment le système de fichiers utilisé pour stocker les pages MySQL.
Pour une introduction détaillée à LFS sur Linux, voyez la page d' Andreas Jaeger Large File Support in Linux à http://www.suse.de/~aj/linux_lfs.html.
Par défaut, les tables MySQL peuvent atteindre une taille de
4Go. Vous pouvez vérifier la taille des tables avec la commande
SHOW TABLE STATUS
ou la commande en ligne
myisamchk -dv nom_de_table
. See
Section 13.5.3, « Syntaxe de SHOW
».
Si vous avez besoin de tables plus grandes que 4Go (et que votre
système d'exploitation le supporte, modifiez les paramètres
AVG_ROW_LENGTH
et MAX_ROWS
lorsque vous créez votre table. See
Section 13.2.5, « Syntaxe de CREATE TABLE
». Vous pouvez aussi modifier ces
valeurs avec la commande ALTER TABLE
. See
Section 13.2.2, « Syntaxe de ALTER TABLE
».
D'autres méthodes pour contourner les limitations des systèmes
de fichiers avec les tables MyISAM
:
Si votre table est en lecture seule, utilisez
myisampack
pour la compresser.
myisampack
compresse une table à 50%, ce
qui double environs la taille des tables.
myisampack
peut aussi combiner plusieurs
tables en une seule. See Section 8.2, « myisampack
, le générateur de tables MySQL
compressées en lecture seule ».
Une autre méthode pour contourner les limites du système
de fichiers pour les tables MyISAM
est
d'utiliser les options RAID
. See
Section 13.2.5, « Syntaxe de CREATE TABLE
».
MySQL inclut une bibliothèque MERGE
qui
permet de gérer plusieurs tables identiques comme une
seule. See Section 14.2, « Tables assemblées MERGE
».
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.