Maison  >  Article  >  base de données  >  Comment définir la taille d'une seule table dans MySQL

Comment définir la taille d'une seule table dans MySQL

coldplay.xixi
coldplay.xixioriginal
2020-09-28 10:27:193926parcourir

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

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn