使用 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中文網其他相關文章!