Maison  >  Article  >  développement back-end  >  Comment le curseur # fast_executemany dans pyodbc peut-il accélérer les insertions en masse dans MS SQL Server ?

Comment le curseur # fast_executemany dans pyodbc peut-il accélérer les insertions en masse dans MS SQL Server ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 04:42:02819parcourir

How Can Cursor#fast_executemany in pyodbc Speed Up Bulk Inserts to MS SQL Server?

Accélération des insertions en masse dans MS SQL Server à l'aide de pyodbc : informations et solutions

Pour améliorer l'efficacité des insertions en masse dans un serveur MS SQL table utilisant pyodbc, envisagez de tirer parti des avantages de sa fonctionnalité Cursor#fast_executemany. Introduite dans la version 4.0.19, cette fonctionnalité optimise le processus d'insertion, réduisant considérablement le temps d'exécution.

Lorsque le fichier CSV contenant les données à insérer réside sur un client distant plutôt que sur la machine locale hébergeant l'instance SQL Server ( ou un emplacement réseau SMB/CIFS accessible), la commande T-SQL BULK INSERT peut ne pas être réalisable. Dans de tels cas, Cursor#fast_executemany offre une alternative intéressante.

Démonstration :

Considérez le scénario dans lequel vous insérez 1 000 lignes de données dans une table « fast_executemany_test ». En utilisant les paramètres par défaut, l'opération prend environ 22 secondes :

<code class="python">crsr.executemany(sql, params)</code>

En activant simplement Cursor#fast_executemany via :

<code class="python">crsr.fast_executemany = True</code>

Vous pouvez accélérer l'insertion à seulement 1 seconde, en coupant le temps d'exécution par un facteur significatif. Tirez parti de cette fonctionnalité pour rationaliser vos insertions groupées et améliorer les performances globales de vos tâches d'importation de données.

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