我将数据从一个数据库插入到另一个数据库,所以我有 2 个连接(Conn1 和 Conn2)。下面是代码(使用 pypyodbc)。
import pypyodbc
Conn1_Query = "SELECT column FROM Table"
Conn1_Cursor.execute(Conn1_Query)
Conn1_Data = Conn1_Cursor.fetchall()
Conn1_array = []
for row in Conn1_Data:
Conn1_array.append(row)
上面的部分运行得非常快。
stmt = "INSERT INTO TABLE(column) values (?)"
Conn2_Cursor.executemany(stmt, Conn1_array)
Conn2.commit()
这部分非常慢。我还尝试使用 cursor.execute 执行一个 for 循环来一次插入每一行,但这也很慢。我做错了什么,有什么办法可以加快速度吗?谢谢参观。
我想我还应该补充一点,Conn1 数据只有约 50k 行。我在开始时还有一些我没有包含的设置代码,因为它与问题无关。插入大约需要 15 分钟。作为比较,将输出写入 csv 文件大约需要 25 秒。