Maison > base de données > tutoriel mysql > Comment puis-je insérer efficacement 100 000 lignes dans une base de données MySQL ?

Comment puis-je insérer efficacement 100 000 lignes dans une base de données MySQL ?

Susan Sarandon
Libérer: 2024-12-03 11:06:13
original
1067 Les gens l'ont consulté

How Can I Efficiently Insert 100,000 Rows into a MySQL Database?

Insertion efficace de lignes dans une base de données MySQL

L'insertion de gros volumes de données dans une base de données MySQL peut poser un défi en termes d'efficacité. Cette question explore les performances de deux méthodes d'insertion et propose une solution qui améliore considérablement le temps d'insertion.

Le code initial utilise une seule instruction INSERT pour chaque ligne, ce qui conduit à un temps de 40 secondes pour 100 000 insertions. Pour améliorer cela, la question envisage d'insérer plusieurs lignes simultanément via un DataTable/DataAdapter ou une seule instruction INSERT avec plusieurs valeurs.

La solution présentée dans la réponse utilise une seule instruction INSERT avec 100 000 lignes répertoriées comme valeurs. Cette méthode réduit considérablement le temps d’insertion à seulement 3 secondes. L'instruction SQL générée est la suivante :

INSERT INTO User (FirstName, LastName) VALUES ('test','test'),('test','test'),... ;
Copier après la connexion

Pour empêcher l'injection de code, la méthode MySqlHelper.EscapeString est utilisée pour nettoyer les valeurs avant l'insertion. En évitant les instructions INSERT individuelles et en utilisant une seule instruction avec plusieurs valeurs, le processus d'insertion est considérablement accéléré.

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