Reputation: 25679
I'm runing into Memory Error Using python 2.6, pyodbc
The code loops through several Sql statements. Singleton run Ok, but the loops get stuck. Sometimes Loop works ok.
for Sql in LoopList:
f = csr.execute(Sql)
LL = list(f)
The second element in loop crashes.
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
"""
Upvotes: 0
Views: 2007
Reputation: 103
Since your query is returning too much data that it cannot be stored in RAM, for a quick solution try increasing your virtual memory.
It will convert some of your hard disk space to virtual memory, and your issue will be resolved now if your data fits into allocated memory.
Upvotes: 0
Reputation: 25679
The solution was to do sql looplist inside MySQL as Stored procedure, call from python. This eliminated the python error.
also use numpy for testing bytesize
Upvotes: 0
Reputation: 308520
Your query is returning too much data to fit into memory. The execute
is probably returning an iterator which only needs to keep one item in memory at a time, but converting that into a list
requires every single item returned from the query to fit into memory.
Upvotes: 4