Ik heb een programma gebouwd dat meerdere regels invoegt op een server die zich in een andere stad bevond.
Ik ontdekte dat het gebruik van deze methode ongeveer 10 keer sneller was dan executemany
. In mijn geval tup
is een tupel met ongeveer 2000 rijen. Het duurde ongeveer 10 seconden bij het gebruik van deze methode:
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)
en 2 minuten bij gebruik van deze methode:
cur.executemany("INSERT INTO table VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)", tup)