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

Comment corriger l'erreur « Taille de ligne trop grande » de MySQL ?

Barbara Streisand
Libérer: 2024-12-10 09:17:10
original
786 Les gens l'ont consulté

How to Fix MySQL's

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 :

  1. 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.
  2. 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;
Copier après la connexion
  1. 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
    Copier après la connexion

Considérations

  1. 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.
  2. 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.
  3. 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!

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