我构建了一个程序,可以将多行插入到位于另一个城市的服务器中。
我发现使用这种方法大约快10倍executemany
。就我而言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)