我正在尝试在 Windows 上使用 python 填充 MS SQL 2005 数据库。我正在插入数百万行,到了 700 万行,我使用了近 1 GB 的内存。下面的测试每插入 100k 行会占用 4 兆内存:
import pyodbc
connection=pyodbc.connect('DRIVER={SQL Server};SERVER=x;DATABASE=x;UID=x;PWD=x')
cursor=connection.cursor()
connection.autocommit=True
while 1:
cursor.execute("insert into x (a,b,c,d, e,f) VALUES (?,?,?,?,?,?)",1,2,3,4,5,6)
mdbconn.close()
破解解决方案:我最终使用多处理模块生成了一个新进程来返回内存。仍然对为什么以这种方式插入行会消耗这么多内存感到困惑。有任何想法吗?