Vytvořil jsem program, který vkládá více řádků na server, který byl umístěn v jiném městě.
Zjistil jsem, že použití této metody bylo asi 10x rychlejší než executemany
. V mém případě tup
je n-tice obsahující asi 2000 řádků. Při použití této metody to trvalo asi 10 sekund:
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)
a 2 minuty při použití této metody:
cur.executemany("INSERT INTO table VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)", tup)