首頁  >  文章  >  資料庫  >  如何使用 SQLAlchemy ORM 執行高效率的批次插入?

如何使用 SQLAlchemy ORM 執行高效率的批次插入?

DDD
DDD原創
2024-11-16 07:58:02206瀏覽

How can I perform efficient bulk inserts with SQLAlchemy ORM?

使用 SQLAlchemy ORM 進行批次插入

將資料插入資料庫時,效率至關重要。預設情況下,SQLAlchemy 會將單一物件插入表中,這對於批次操作可能需要更長的時間。

SQLAlchemy 支援批次插入嗎?

是。從版本 1.0.0 開始,SQLAlchemy 包含批次操作。這些允許您在單一事務中執行批次插入或更新。

如何執行批次插入

要使用SQLAlchemy ORM 執行批次插入,請依照下列步驟操作:

  1. 建立要插入的物件列表。
  2. 呼叫會話的bulk_save_objects() 方法將物件清單作為參數傳遞。
  3. 提交會話以完成插入操作。

例如:

透過會話提高效能

作者預設情況下,SQLAlchemy 立即提交每個操作。為了提高批量插入的效能,您可以停用自動提交,並在新增所有物件後手動提交。這確保了資料在單一事務中載入到資料庫中。但請注意,如果發生錯誤,停用自動提交可能會導致資料一致性問題。

若要停用自動提交,請在建立工作階段時將 autocommit 參數設為 False。然後,在新增所有物件後手動提交會話:

透過使用批次操作和最佳化會話使用,您可以顯著提高 SQLAlchemy ORM 應用程式執行批次資料插入任務的效能。

以上是如何使用 SQLAlchemy ORM 執行高效率的批次插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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