Ser*_*ker 3 python memory-leaks pyodbc
我试图在Windows上使用python填充MS SQL 2005数据库.我正在插入数百万行,而且我正在使用几乎一千兆字节的内存.下面的测试每插入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()
Run Code Online (Sandbox Code Playgroud)
Hack解决方案:我最终使用多处理模块生成一个新进程来返回内存.仍然混淆为什么以这种方式插入行消耗了如此多的内存.有任何想法吗?
我有同样的问题,它看起来像参数化插入的pyodbc问题:http://code.google.com/p/pyodbc/issues/detail? id = 145
暂时切换到填充了VALUES子句的静态插入消除了泄漏,直到我尝试从当前源构建.
| 归档时间: |
|
| 查看次数: |
3807 次 |
| 最近记录: |