Ich habe ein Programm erstellt, das mehrere Zeilen zu einem Server einfügt, der sich in einer anderen Stadt befindet.
Ich fand heraus, dass die Verwendung dieser Methode etwa 10-mal schneller war als executemany
. In meinem Fall tup
ist ein Tupel mit etwa 2000 Zeilen. Bei dieser Methode dauerte es etwa 10 Sekunden:
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)
und 2 Minuten bei dieser Methode:
cur.executemany("INSERT INTO table VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)", tup)