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 :
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!