Re: Selecting with an offset / paging

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Fri Dec 04 2009 - 12:20:41 EST

  • Next message: Michael Gentry: "DBCPDataSourceFactory Issue"

    Also Cayenne 3.0 supports offsets for all types of queries:

    http://cayenne.apache.org/doc/api/org/apache/cayenne/query/SelectQuery.html#setFetchOffset(int)

    Andrus

    On Dec 4, 2009, at 7:12 PM, Michael Gentry wrote:

    > Hi Ilya,
    >
    > Are you at least using a paginated query instead of a regular query?
    >
    > http://cayenne.apache.org/doc12/paginated-queries.html
    >
    > mrg
    >
    >
    > On Fri, Dec 4, 2009 at 11:42 AM, Ilya Lazarev <glaref..mail.com>
    > wrote:
    >> using 1.2, forgot to mention
    >>
    >> On Fri, Dec 4, 2009 at 5:41 PM, Ilya Lazarev <glaref..mail.com>
    >> wrote:
    >>
    >>> Hello,
    >>>
    >>> I have a webapp that accesses an Oralce DB to retrieve records and
    >>> do
    >>> paging over the entire resultset (an expression is used that spans
    >>> multiple
    >>> tables). Recently when the number of results in total adds up to
    >>> over 30000,
    >>> the performance of the select query has dropped to unusable levels
    >>> (30+
    >>> seconds per query). The webapp never returns all 30000 rows so
    >>> it's OK for
    >>> the time being, but it certainly needs to be addressed.I wanted to
    >>> do a
    >>> select with a *"where rownum > a and rownum < b" *type query, but
    >>> so far
    >>> have not seen a way to do that. Does anyone have any tips how to
    >>> do this? My
    >>> other option is to rewrite the retrieval using SQLTemplate and
    >>> calculate the
    >>> dynamic sql based on parameters by hand, correct? Will the
    >>> resultset contain
    >>> objects with their relationships that way (ie.
    >>> ((TableA)result.get(0)).getToTableB() ?) or flat data rows?
    >>>
    >>> Thanks!
    >>>
    >>
    >



    This archive was generated by hypermail 2.0.0 : Fri Dec 04 2009 - 12:21:28 EST