バルクデータの挿入を高速化するための複数のオプションがあります。
1.)commit()
ループが終了した後:
for ele in coordinates:
cursor.execute('INSERT INTO gmaps (source_latitude, source_longitude, destination_latitude, destination_longitude) VALUES (%s, %s, %s, %s)', (ele[0], ele[1], ele[2], ele[3])))
conn.commit()
2.)psycopg2の高速実行ヘルパー
を使用します 、execute_batch() or execute_values()
など 。
3.)mogrify()
を使用した文字列の集中 :
dataText = ','.join(cur.mogrify('(%s,%s,%s,%s)', row) for ele in coordinates)
cur.execute('INSERT INTO gmaps VALUES ' + dataText)
cur.commit()
INSERT
の詳細な比較について 実行速度については、これ
をご覧ください。 ベンチマーク。