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
Susan Sarandonoriginal
2024-12-03 11:06:13972parcourir

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'),... ;

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!

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