使用psycopg2和python更新postgres表中的许多行

时间:2016-12-20 19:16:20

标签: python sql postgresql psycopg2

我有一个包含两列的表格T:Tag(文本)和Score(real)。标签保持不变(并且可以有多个具有相同标签的行),而分数经常变化。新值显示在这样的python对象中(可能包含数百万个项目):

recs = [{'tag': t1, 'score': s1}, {'tag': t2, 'score': s2}]

我目前正在使用以下python代码更新表中的分数:

db_conn = psycopg2.connect(connect_string)
cursor = db_conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
q = "UPDATE T SET Score = %(score)s WHERE Tag = %(tag)s;"
cursor.executemany(q, recs)

虽然这有效,但速度很慢。所以,我正在寻找一种能够提高上述代码速度的解决方案。欢迎任何建议。

0 个答案:

没有答案