【发布时间】:2016-03-15 16:36:35
【问题描述】:
我将数据从一个数据库插入到另一个数据库,所以我有 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 秒。
【问题讨论】:
-
你的提交在哪里?
-
抱歉,刚刚添加了它 - 我在我的代码主体中包含它,但最初没有将它包含在此处。感谢您的观看。
标签: sql python-3.x odbc pypyodbc