Създадох програма, която вмъква няколко реда към сървър, който се намира в друг град.
Открих, че използването на този метод е около 10 пъти по-бързо от executemany
. В моя случай tup
е кортеж, съдържащ около 2000 реда. При използване на този метод отне около 10 секунди:
args_str = ','.join(cur.mogrify("(%s,%s,%s,%s,%s,%s,%s,%s,%s)", x) for x in tup)
cur.execute("INSERT INTO table VALUES " + args_str)
и 2 минути при използване на този метод:
cur.executemany("INSERT INTO table VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)", tup)