【发布时间】:2015-04-22 13:56:15
【问题描述】:
我想将我的数据插入 PostgreSQL 1000 x 1000 记录(批量插入),以使其在 DBMS 上快速且低负载,所以我现在的代码是:
cursor.execute("INSERT INTO bar(first_name,last_name) VALUES ('David', 'Bar')")
cursor.execute("INSERT INTO bar(first_name,last_name) VALUES ('David2', 'Bar2')")
cursor.execute("INSERT INTO bar(first_name,last_name) VALUES ('David3', 'Bar3')")
.... etc
connection.commit()
正如您所看到的,我在最后提交了更改,这为我节省了很多时间,因为我在每次插入查询后都提交了更改。 问题是,如果任何查询因任何原因(无效数据)崩溃,所有查询都将无法执行,我将丢失数据。 有没有办法节省插入时间,同时避免数据丢失??
【问题讨论】:
-
正在使用任何框架或 ORM 吗?
-
不,我正在使用 psycopg2。
-
请参阅 [this answer][1] 到您的问题 [1]:stackoverflow.com/questions/12206600/…
标签: python postgresql bulkinsert