Maison  >  Article  >  base de données  >  Voici quelques options de titre basées sur le texte fourni : **Titres basés sur des questions :** * **Inserts en masse dans InnoDB : comment désactiver l'indexation sans \"DISABLE KEYS\" ?** * **Insertion en masse InnoDB

Voici quelques options de titre basées sur le texte fourni : **Titres basés sur des questions :** * **Inserts en masse dans InnoDB : comment désactiver l'indexation sans \"DISABLE KEYS\" ?** * **Insertion en masse InnoDB

DDD
DDDoriginal
2024-10-27 05:46:02637parcourir

Here are a few title options based on your provided text:

**Question-based titles:**

* **Bulk Inserts in InnoDB: How to Disable Indexing Without

Désactiver l'indexation pour les insertions groupées rapides dans InnoDB

Lors du chargement groupé de données dans une table InnoDB, une suspension passagère des index peut entraîner des gains de performances significatifs. Cependant, l'exécution de la commande "ALTER TABLE mytable DISABLE KEYS" rencontre souvent l'avertissement "Le moteur de stockage de table pour 'mytable' n'a pas cette option."

Méthodes alternatives pour désactiver l'indexation

Pour contourner la limitation de la commande « DISABLE KEYS », envisagez ces approches alternatives :

  • Désactivez la validation automatique, les vérifications de clé et les vérifications de clé étrangère : Exécuter les commandes suivantes :
SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;

Cela demandera à MySQL de reporter l'exécution des transactions, en désactivant les contrôles d'unicité et d'intégrité référentielle basés sur l'index lors des insertions groupées.

  • SUPPRIMER et recréer des index : Supprimez les index existants, effectuez l'insertion en masse, puis créez à nouveau les index. Cette approche est efficace mais demande beaucoup de travail si vous avez de nombreux index sur la table.

Accélération du processus d'insertion en masse

En plus de désactiver l'indexation, tenez compte de ces conseils supplémentaires pour optimiser le chargement groupé de données :

  • Utilisez la commande LOAD DATA INFILE : Cette commande dédiée est spécialement conçue pour les importations de données à grande échelle.
  • Désactiver le pool de tampons InnoDB : En suspendant le pool de tampons, MySQL peut allouer plus de mémoire pour gérer les transactions volumineuses.
  • Augmentez la taille du tampon de clé : Un tampon de clé plus grand La taille permet à MySQL de mettre en cache plus d'index, améliorant potentiellement les performances des requêtes ultérieures après l'insertion en masse.

En mettant en œuvre ces stratégies, vous pouvez accélérer considérablement les opérations d'insertion en masse dans InnoDB tout en maintenant l'intégrité des données et en réduisant les frais inutiles. .

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