Comment modifier la limite de taille de ligne MySQL
Lorsque vous rencontrez l'erreur "Taille de ligne trop grande (> 8126)", cela indique que la taille de ligne maximale autorisée par MySQL a été dépassé. Pour résoudre ce problème, certaines considérations de conception de table et ajustements de configuration de base de données peuvent être mises en œuvre.
Recommandations
La solution suggérée proposée sur Stack Exchange implique de modifier les paramètres du fichier my.cnf :
-
Activer le format de fichier Barracuda : Configurez InnoDB pour utiliser le format de fichier Barracuda en définissant innodb_file_format=Barracuda. Cela élimine le besoin de stocker une partie des données BLOB en ligne, réduisant ainsi la taille des lignes.
-
Utilisez ROW_FORMAT=COMPRESSED : Modifiez le format de ligne du tableau en ROW_FORMAT=COMPRESSED. Ce format réduit la taille des données BLOB en appliquant une compression.
Exemple de commande :
ALTER TABLE table_name
ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=8;
-
Retour à MyISAM : Dans Si les mesures ci-dessus ne résolvent pas le problème, envisagez d'utiliser MyISAM comme moteur de stockage temporaire pour les données internes. Ajoutez la ligne suivante au fichier my.cnf :
internal_tmp_disk_storage_engine=MyISAM
Considérations
-
Review Table Schema : Examinez les colonnes de la table et leurs types de données. Envisagez de remplacer les colonnes contenant trop de données par TEXT ou BLOB.
-
Utiliser le format de ligne dynamique ou compressé : Les options ROW_FORMAT=DYNAMIC ou ROW_FORMAT=COMPRESSED de la table peuvent aider à optimiser l'utilisation de l'espace pour les données. -lignes lourdes.
-
Envisagez le partage : Si la table contient un Si vous disposez d'une quantité importante de données, envisagez de les partager sur plusieurs bases de données ou tables. Cela réduira la taille des lignes dans chaque tableau.
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