Python内存错误
我遇到了内存错误 使用Python2.6、pyodbc 代码通过几个Sql语句循环。Singleton运行正常,但是循环被卡住了。 有时循环工作正常Python内存错误,python,memory,Python,Memory,我遇到了内存错误 使用Python2.6、pyodbc 代码通过几个Sql语句循环。Singleton运行正常,但是循环被卡住了。 有时循环工作正常 for Sql in LoopList: f = csr.execute(Sql) LL = list(f) 循环中的第二个元素崩溃 Sql: Sql =""" SELECT * FROM group WHERE C>10 AND M <0 AND S<0 AND
for Sql in LoopList:
f = csr.execute(Sql)
LL = list(f)
循环中的第二个元素崩溃
Sql:
Sql =""" SELECT * FROM group WHERE
C>10 AND M <0 AND S<0
AND TC >= 200 AND OC >=1000 and Penny =.01
ORDER BY MSlp
"""
Sql:
Sql=“”从组中选择*,其中
C> 10,M=1000,Penny=0.01
MSlp订购
"""
您的查询返回的数据太多,无法放入内存。execute
可能返回一个迭代器,该迭代器一次只需要在内存中保留一个项,但将其转换为列表
需要从查询返回的每个项都放入内存。您的查询返回的数据太多,无法放入内存。execute
可能返回一个迭代器,一次只需要在内存中保留一个项,但是将其转换为列表
需要从查询返回的每个项都适合内存。解决方案是在MySQL内部将sql looplist作为存储过程,从python调用。这消除了python错误
还可以使用numpy测试bytesize解决方案是在MySQL内部将sql looplist作为存储过程,从python调用。这消除了python错误
还可以使用numpy测试bytesizeLL崩溃?什么意思?SQL语句返回了多少数据?如果它是数百兆或更大,这就是你的问题所在。如果你添加了崩溃的堆栈跟踪,告诉你正在运行哪个平台,你正在使用什么数据库,以及其他可能帮助人们识别或识别问题的详细信息,这会很有帮助。您的代码非常简单,我怀疑这仅仅是pyodbc错误。@joaguin,它的挂起。。。或停止运行错误控制台内存错误。结果集有多大?可能太大了,python无法处理LL崩溃?什么意思?SQL语句返回了多少数据?如果它是数百兆或更大,这就是你的问题所在。如果你添加了崩溃的堆栈跟踪,告诉你正在运行哪个平台,你正在使用什么数据库,以及其他可能帮助人们识别或识别问题的详细信息,这会很有帮助。您的代码非常简单,我怀疑这仅仅是pyodbc错误。@joaguin,它的挂起。。。或停止运行错误控制台内存错误。结果集有多大?可能太大了,python无法处理?