Zbudowałem program, który wstawia wiele linii do serwera znajdującego się w innym mieście.
Dowiedziałem się, że użycie tej metody było około 10 razy szybsze niż executemany
. W moim przypadku tup
to krotka zawierająca około 2000 wierszy. Przy użyciu tej metody zajęło to około 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)
i 2 minuty w przypadku korzystania z tej metody:
cur.executemany("INSERT INTO table VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)", tup)