J'ai construit un programme qui insère plusieurs lignes sur un serveur situé dans une autre ville.
J'ai découvert que l'utilisation de cette méthode était environ 10 fois plus rapide que executemany
. Dans mon cas tup
est un tuple contenant environ 2000 lignes. Cela a pris environ 10 secondes lors de l'utilisation de cette méthode :
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)
et 2 minutes en utilisant cette méthode :
cur.executemany("INSERT INTO table VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)", tup)