Maison > base de données > tutoriel mysql > Comment résoudre l'erreur « Taille de ligne trop grande » de MySQL ?

Comment résoudre l'erreur « Taille de ligne trop grande » de MySQL ?

Barbara Streisand
Libérer: 2024-12-13 00:48:09
original
993 Les gens l'ont consulté

How to Solve MySQL's

Résolution de la limite de taille de ligne dans MySQL avec l'erreur « Taille de ligne trop grande »

L'erreur « Taille de ligne trop grande » dans MySQL se produit lorsque la ligne d'une table de base de données dépasse la limite autorisée. Pour résoudre ce problème, il est crucial de comprendre les facteurs sous-jacents.

Dans le tableau donné, l'erreur MySQL indique que la taille de la ligne est supérieure à 8 126 octets, probablement en raison de plusieurs colonnes de texte (TEXT ou BLOB) avec données volumineuses. Pour résoudre ce problème, envisagez de convertir certaines colonnes en types de données texte ou blob ou d'utiliser des techniques d'optimisation du format de ligne.

Cependant, le message d'erreur suggère également que le stockage en ligne des préfixes BLOB peut contribuer au problème. Pour surmonter cela :

1. Tirer parti du format de fichier Barracuda :

Ce format de fichier dans InnoDB ne stocke qu'un pointeur de 20 octets vers des données texte au lieu des 768 octets initiaux, éliminant ainsi la limitation de la taille des lignes. Pour activer Barracuda :

  • Ajoutez innodb_file_per_table=1 et innodb_file_format = Barracuda au fichier my.cnf.
  • Modifiez le tableau pour utiliser ROW_FORMAT=COMPRESSED, ce qui peut réduire encore davantage la taille des lignes. .

2. Utiliser le moteur MyISAM (solution temporaire) :

Malheureusement, la solution basée sur Barracuda ne résout pas toujours le problème en raison d'un bug du moteur InnoDB. Dans de tels cas, vous pouvez recourir au moteur MyISAM comme option de stockage temporaire en ajoutant internal_tmp_disk_storage_engine=MyISAM à votre fichier my.cnf.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal