In case someone is looking for answers to my numbered questions, it seems 
from what I can tell that:


   1. Memory used performing a select isn't released for quite a while 
   afterwards, even if your code doesn't use that data again. So multiple 
   selects will quickly make your memory usage grow.
   2. iterselect uses more memory than just what would store one row of 
   data. There's significant memory overhead, it seems, in just accessing the 
   db. But because it's only storing one row at a time it's much lighter on 
   memory with large data sets.
   3. Yes, if you're worried about memory use you want to perform as few 
   separate selects as possible, even if you're using iterselect.
   4. If you're using iterselect, memory use isn't affected by table size 
   or even (much) by the size of your result set. It's determined instead by 
   (a) the basic db access overhead, and (b) the amount of data you're 
   retrieving in a given row. 

If I'm off on any of these points, I'd be glad to here more.

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/ee25b6ee-508c-4339-8725-8754d6dec5bc%40googlegroups.com.

Reply via email to