首頁 >後端開發 >Python教學 >如何使用 pyodbc 加速向 MS SQL Server 的批次插入?

如何使用 pyodbc 加速向 MS SQL Server 的批次插入?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-02 20:15:03354瀏覽

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

如何使用pyodbc 增強MS SQL Server 中的批次插入效能

您提到在嘗試插入超過1,300,000 行時遇到緩慢的插入速度使用pyodbc 的MS SQL Server 資料庫。雖然迭代單一行進行插入可能會導致效能問題,但考慮批次插入技術是一個可行的解決方案。

T-SQL BULK INSERT

T-SQL 的BULK INSERT 命令允許高效的批量資料加載,前提是資料檔案位於與SQL Server 實例相同的電腦上或位於可存取的SMB/CIFS 網路位置。如果滿足這個條件,可以採取以下步驟:

  1. 建立批次插入語句並指定目標表和資料列。
  2. 使用 pyodbc.load_bulk() 載入將檔案或遊標中的資料寫入資料庫。

pyodbc 中的fast_executemany

對於資料檔案駐留在遠端客戶端的場景,pyodbc 的Cursor# 4.0.1999999dd 系列中所引入的功能_cuteman顯著提高插入效能:

  1. 透過在遊標物件上將其設為True 來啟用fast_executemany。
  2. 使用 Cursor#executemany() 插入多個立即行。與您目前使用的手動迭代相比,此技術可以大幅減少執行時間。

注意事項

  • 預設不啟用 fast_executemany。
  • 批次插入的資料應根據目標表架構進行結構化。
  • 確保 SQL Server 使用者俱有執行批次插入所需的權限。

以上是如何使用 pyodbc 加速向 MS SQL Server 的批次插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn