Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python内存错误_Python_Memory - Fatal编程技术网

Python内存错误

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

我遇到了内存错误 使用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 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测试bytesize

LL崩溃?什么意思?SQL语句返回了多少数据?如果它是数百兆或更大,这就是你的问题所在。如果你添加了崩溃的堆栈跟踪,告诉你正在运行哪个平台,你正在使用什么数据库,以及其他可能帮助人们识别或识别问题的详细信息,这会很有帮助。您的代码非常简单,我怀疑这仅仅是pyodbc错误。@joaguin,它的挂起。。。或停止运行错误控制台内存错误。结果集有多大?可能太大了,python无法处理LL崩溃?什么意思?SQL语句返回了多少数据?如果它是数百兆或更大,这就是你的问题所在。如果你添加了崩溃的堆栈跟踪,告诉你正在运行哪个平台,你正在使用什么数据库,以及其他可能帮助人们识别或识别问题的详细信息,这会很有帮助。您的代码非常简单,我怀疑这仅仅是pyodbc错误。@joaguin,它的挂起。。。或停止运行错误控制台内存错误。结果集有多大?可能太大了,python无法处理?