Maison > Article > base de données > Comment définir la taille d'une seule table dans MySQL
Méthode MySQL pour définir la taille d'une seule table : 1. Méthode de modification lors de la création d'une table ; 2. Méthode de modification d'une table existante, le code est [ALTER TABLE tbl_name MAX_ROWS=1000000000 AVG_ROW_LENGTH=15000].
Comment définir la taille d'une seule table dans MySQL :
1. Moteur de stockage MyISAM de la base de données MySQL Il n'est plus déterminé par la base de données MySQL elle-même (la limite est étendue à 64 Po), mais par le système de fichiers sur le système d'exploitation de l'hôte.
Avant la version mysql5.0, la taille de table par défaut du moteur de stockage myisam était de 4 Go. Vous pouvez utiliser la commande suivante pour la visualiser :
[root@robert test]# cd /data/mysql/mysql_3306/data/test [root@robert test]# myisamchk -dv t2 MyISAM file: t2 Record format: Fixed length Character set: latin1_swedish_ci (8) File-version: 1 Creation time: 2014-12-29 14:13:17 Status: checked,analyzed,optimized keys,sorted index pages Data records: 0 Deleted blocks: 0 Datafile parts: 0 Deleted data: 0 Datafile pointer (bytes): 6 Keyfile pointer (bytes): 3 Datafile length: 0 Keyfile length: 1024 Max datafile length: 3096224743817214 Max keyfile length: 17179868159 Recordlength: 11 table description: Key Start Len Index Type Rec/key Root Blocksize
Longueur du fichier de données. : la taille du fichier de données actuel
Longueur du fichier clé : la taille du fichier d'index
Longueur maximale du fichier de données : la taille maximale fichier de données
Longueur maximale du fichier de clés : la taille du fichier d'index maximum
Si vous devez utiliser une table MyISAM supérieure à 4 Go (et votre système d'exploitation prend en charge les fichiers volumineux), vous pouvez utiliser les options AVG_ROW_LENGTH et MAX_ROWS CREATE TABLE. Une fois la table créée, vous pouvez également utiliser ALTER TABLE pour modifier ces options afin d'augmenter la capacité maximale autorisée de la table.
Comment modifier lors de la création d'une table
CREATE TABLE tbl_name ( a INTEGER NOT NULL PRIMARY KEY, b CHAR(18) NOT NULL ) MAX_ROWS = 1000000000 AVG_ROW_LENGTH = 32;
Comment modifier une table existante
ALTER TABLE tbl_name MAX_ROWS=1000000000 AVG_ROW_LENGTH=15000;
2 : Moteur de stockage Innodb points Il existe deux types, l'un est la méthode de stockage de l'espace table partagé et l'autre est la méthode de stockage de l'espace table exclusif.
1) Lors du partage du stockage de l'espace table, toutes les données d'Innodb sont stockées dans un espace table séparé (mais chaque table a un fichier de structure de table .frm), et cet espace table peut être composé de plusieurs fichiers. , une table peut exister dans plusieurs fichiers, donc sa limite de taille n'est plus une limite sur la taille du fichier, mais une limite sur elle-même.
Comme le montre la documentation officielle d'Innodb, la limite maximale de son espace table est de 64 To. En d'autres termes, la limite d'une seule table d'Innodb est essentiellement d'environ 64 To. Bien sûr, cette taille inclut tous les index et. d'autres données connexes.
2) Lors de l'utilisation d'un espace table exclusif pour stocker les tables Innodb, les données de chaque table sont stockées dans un fichier séparé. À ce stade, la limite de table unique devient la limite de taille du système de fichiers.
Taille limite du système d'exploitation
win32 w/ FAT/FAT32 2GB/4GB win32 w/ NTFS 2TB(可能更大) Linux 2.2-Intel 32-bit 2GB (LFS: 4GB) Linux 2.4+ 4TB(ext3) Solaris 9/10 16TB NetWare w/NSS filesystem 8TB MacOS X w/ HFS+ 2TB
Autres recommandations d'apprentissage gratuites associées : tutoriel MySQL ( Vidéo)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!