Maison >base de données >tutoriel mysql >Comment puis-je insérer efficacement 100 000 lignes dans une base de données MySQL ?
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!