cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Zeigler <robert.zeig...@roxanemy.com>
Subject Re: Big selects on PostGres : Configuring Statement.setFetchSize() of a selectquery
Date Fri, 15 May 2009 14:34:40 GMT
Take a look at paginated queries (which isn't /quite/ what you want,  
but may help you):

http://cayenne.apache.org/doc/paginated-queries.html

As well as ResultIterator:
http://cayenne.apache.org/doc/iterating-through-data-rows.html

Robert

On May 15, 2009, at 5/159:21 AM , stefcl wrote:

>
>
> Thanks but my problem is not related to paging.
>
> I would like to be able to execute a select query which returns approx
> 100000 rows with a single selectQuery and process them one by one,  
> while
> keeping only a few of them in memory (using the resultiterator).
>
> In jdbc, Statement.setFetchSize(1000) tells the jdbc driver to  
> retrieve
> results from the database 1000 at a time and ask for the next 1000  
> as you're
> iterating the resultset. Otherwise its default behavior is to  
> retrieve the
> 100'000 rows in memory before you can start iterating the resultset.
>
> It's not the same thing as inserting a TOP or a LIMIT clause in the  
> query.
>
> Any help appreciated
>
>
> Andrey Razumovsky wrote:
>>
>> Hi,
>>
>> Yes of course. You can use SelectQuery.setFetchLimit(int) and
>> setFetchStart(int) methods. They do just that.
>>
>> Andrey
>>
>
> -- 
> View this message in context: http://www.nabble.com/Big-selects-on-PostGres-%3A-Configuring-Statement.setFetchSize%28%29-of-a-selectquery-tp23555842p23560831.html
> Sent from the Cayenne - User mailing list archive at Nabble.com.
>


Mime
View raw message