我写了一个更新表的脚本。由于我找不到“批量”更新的方法,我的脚本一次更新表的一行。我假设对于一组 100,000 行,执行更新需要几秒钟。
没有。每个写操作大约需要 100 毫秒。整个写操作耗时 ((((100,000 * 100)/1000)/60)/60) = 2.77 小时。为什么写这么久?
这是我使用的代码:
import psycopg2
...
entries = get_all_entries()
conn = psycopg2.connect(params)
try:
for entry in entries:
cursor = conn.cursor()
cursor.execute(UPDATE_QUERY.format(entry.field1, entry.field2))
cursor.close()
finally:
conn.close()
我做错了什么?
最佳答案
你试过吗:
cursor = conn.cursor()
for entry in entries:
cursor.execute(UPDATE_QUERY.format(entry.field1, entry.field2))
cursor.close()
您可以使用 https://docs.python.org/3/library/profile.html 分析此代码
关于python - 为什么 psycopg2 写入需要这么长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47803623/