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.