首頁 >後端開發 >Python教學 >如何使用 psycopg2 有效率地將多行插入資料庫?

如何使用 psycopg2 有效率地將多行插入資料庫?

DDD
DDD原創
2024-11-26 04:09:09975瀏覽

How Can I Efficiently Insert Multiple Rows into a Database Using psycopg2?

使用 psycopg2 高效插入多行

在處理資料庫中的批次插入時,優化效能至關重要。雖然 psycopg2 為此任務提供了executemany 方法,但有一種稍微簡單且通常更快的方法。

此方法涉及利用 mogrify() 函數並將產生的 SQL 語句連接到單一查詢。它需要建立一個包含要插入的資料的元組。讓我們考慮一個例子:

args = [(1, 2), (3, 4), (5, 6)]
args_str = ','.join(cursor.mogrify("(%s,%s)", (x, )) for x in args)
cursor.execute("INSERT INTO t (a, b) VALUES " + args_str)

經驗表明,這種方法可以顯著提高效能,特別是對於大批量資料。在一個實例中,使用此方法只需 10 秒即可插入 2000 行,而使用executemany 則需要 2 分鐘。

透過利用這項技術,開發人員可以使用 psycopg2 實現更快的批次插入,從而優化資料庫寫入操作。

以上是如何使用 psycopg2 有效率地將多行插入資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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