Maison  >  Article  >  base de données  >  Comment accélérer l'importation de données dans MySQL InnoDB et mettre fin aux requêtes lentes ?

Comment accélérer l'importation de données dans MySQL InnoDB et mettre fin aux requêtes lentes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-08 11:15:02515parcourir

How to Speed Up Data Import into MySQL InnoDB and Terminate Slow Queries?

Optimisation pour une importation de données ultra-rapide avec MySQL

Requête :

Lors de l'importation de données volumineuses données (environ 3,6 millions de lignes) dans une table MySQL InnoDB à l'aide de "Load data infile", comment le processus peut-il être accéléré ? De plus, comment mettre fin à une requête lente sans interrompre le service MySQL ?

Solution :

Accélération de l'importation de données :

Pour optimiser le processus d'importation de données lors de l'utilisation d'Innodb :

  • Trier l'entrée Fichier : Organisez le fichier CSV par ordre croissant en fonction de la clé primaire de la table cible. La structure de clé primaire groupée d'Innodb améliore considérablement la vitesse de chargement lorsque les données sont triées.
  • Script de chargement optimisé : Utilisez le script suivant pour une importation optimale des données :
truncate <table>;

set autocommit = 0;

load data infile <path> into table <table>...

commit;
  • Optimisations des tableaux : Améliorez davantage les temps de chargement en ajustant ces tableaux paramètres :
set unique_checks = 0;
set foreign_key_checks = 0;
set sql_log_bin=0;
  • Répartition des données : Divisez le fichier CSV en morceaux plus petits pour améliorer la vitesse d'importation.

Terminaison lente d'une requête :

Pour terminer une requête lente sans redémarrer MySQL :

  • Identifiez l'ID de fil de discussion de la requête en utilisant :
SHOW PROCESSLIST;
  • Terminez la requête en utilisant :
KILL <thread_ID>;

Statistiques de performances :

Basées sur la charge en vrac observée performances :

  • Taux d'importation : 3,5 à 6,5 millions de lignes par minute
  • Volume d'importation horaire : 210 à 400 millions de lignes

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