Maison > base de données > tutoriel mysql > le corps du texte

Comment optimiser le fichier de données de chargement MySQL pour des importations plus rapides ?

Linda Hamilton
Libérer: 2024-11-07 17:34:03
original
581 Les gens l'ont consulté

How to Optimize MySQL Load Data Infile for Faster Imports?

Optimisation du fichier de données de chargement MySQL pour une importation accélérée

Lors de l'importation d'ensembles de données massifs dans MySQL à l'aide de « Charger le fichier de données », les utilisateurs rencontrent souvent des goulots d'étranglement en termes de performances . Cet article explore les moyens d'accélérer le processus d'importation, en particulier pour les grandes tables InnoDB avec plusieurs clés.

Accélération de l'importation

Pour optimiser la vitesse d'importation, considérez les éléments suivants :

  1. Ordre des clés primaires : Triez le fichier CSV dans le même ordre que la clé primaire de la table cible. Cela optimise le processus d'importation en tirant parti des clés primaires clusterisées d'InnoDB.
  2. Troncation et validation automatique : Tronquez la table avant de charger les données et désactivez la validation automatique pour améliorer les performances.
  3. Optimisation des paramètres de base de données : Désactivez temporairement les vérifications uniques, les vérifications de clés étrangères et la journalisation binaire pour réduire la surcharge.
  4. Chargement en morceaux : Divisez le fichier CSV en morceaux plus petits pour minimiser les besoins en mémoire et réduire les conflits de verrouillage.

Exemple de syntaxe d'importation optimisée :

truncate <table>;

set autocommit = 0;

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

commit;

set autocommit = 1;
set unique_checks = 1;
set foreign_key_checks = 1;
set sql_log_bin=1;
Copier après la connexion

Terminaison de la requête sans redémarrage

À Terminez une requête à exécution lente sans redémarrer MySQL, utilisez la commande suivante :

kill <process_id>;
Copier après la connexion

Cette commande termine le processus spécifié par son ID de processus, qui peut être obtenu à partir de la commande show processlist.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!