On Sun, Sep 12, 2010 at 4:54 PM, Luke Paireepinart
<rabidpoob...@gmail.com> wrote:
>>
>> Thanks for the tip.  I'll do some more research but this sounds promising.
>>
>> Rance
>>
> Just be aware that some methods of list building will iterate over the list 
> and evaluate it. So if you only want to retrieve the first 10 results but you 
> do something like
> Results = [I.fetch() for I in cursor]
> print Results[:10]
>
> You will actually be retrieving all records.
> Obviously this is a contrived example and it will be more subtle in practice. 
> Just be cautious that you're not fetching all your data initially and then 
> paging it. You could maybe check your database for the number of results it's 
> returning for each query maybe. I'm not very knowledgeable about database 
> monitoring and optimization but this strikes me as something you could 
> probably do.

Thanks for the warning here, and I had already suspected as much.  I
am making a calculated guess that there will only be at most 15-20
items at a time in the result set.  Getting all 20 and only choosing
the first 10 during the list iteration process seems to be the best
route.  Especially since sometimes I will want all of them.  If I just
play games with the iterator then I can reuse my get_list code other
places.

If my calculated guess turns out to be wrong, and there are a
significant # of items in the list, then I can revisit this issue.

Rance
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to