別の都市にあるサーバーに複数の行を挿入するプログラムを作成しました。
この方法を使用すると、executemany
よりも約10倍高速であることがわかりました。 。私の場合、tup
は約2000行を含むタプルです。この方法を使用した場合、約10秒かかりました:
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)
この方法を使用する場合は2分:
cur.executemany("INSERT INTO table VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)", tup)