Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Masseneinfügungen in MS SQL Server mit pyodbc beschleunigen?

Wie kann ich Masseneinfügungen in MS SQL Server mit pyodbc beschleunigen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-02 20:15:03252Durchsuche

How Can I Speed Up Bulk Inserts into MS SQL Server Using pyodbc?

So verbessern Sie die Leistung von Masseneinfügungen in MS SQL Server mit pyodbc

Sie haben erwähnt, dass beim Versuch, mehr als 1.300.000 Zeilen einzufügen, langsame Einfügegeschwindigkeiten auftreten eine MS SQL Server-Datenbank mit pyodbc. Während die Iteration über einzelne Zeilen zum Einfügen zum Leistungsproblem beitragen kann, ist die Berücksichtigung von Masseneinfügungstechniken eine praktikable Lösung.

T-SQL BULK INSERT

T-SQL's BULK Der INSERT-Befehl ermöglicht das effiziente Laden großer Datenmengen, vorausgesetzt, die Datendatei befindet sich auf demselben Computer wie die SQL Server-Instanz oder an einem zugänglichen SMB/CIFS-Netzwerkspeicherort. Wenn diese Bedingung erfüllt ist, können die folgenden Schritte ausgeführt werden:

  1. Erstellen Sie eine Masseneinfügungsanweisung und geben Sie die Zieltabelle und die Datenspalten an.
  2. Verwenden Sie zum Laden pyodbc.load_bulk() die Daten aus einer Datei oder einem Cursor in die Datenbank.

fast_executemany in pyodbc

Für Szenarien, in denen sich die Datendatei auf einem Remote-Client befindet, ist der Cursor von pyodbc# Die in Version 4.0.19 eingeführte Funktion „fast_executemany“ kann die Einfügeleistung erheblich verbessern:

  1. Aktivieren Sie fast_executemany, indem Sie es für das Cursorobjekt auf „True“ setzen.
  2. Verwenden Sie Cursor#executemany(), um mehrere einzufügen Zeilen auf einmal. Diese Technik kann die Ausführungszeit im Vergleich zur manuellen Iteration, die Sie derzeit verwenden, drastisch reduzieren.

Überlegungen

  • fast_executemany ist standardmäßig nicht aktiviert.
  • Die Daten für die Masseneinfügung sollten entsprechend dem Zieltabellenschema strukturiert sein.
  • Stellen Sie sicher, dass der SQL Server-Benutzer über die erforderlichen Berechtigungen zum Durchführen von Masseneinfügungen verfügt.

Das obige ist der detaillierte Inhalt vonWie kann ich Masseneinfügungen in MS SQL Server mit pyodbc beschleunigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn