Thanks Ravi .. So nice of you.

On Fri, Jun 11, 2010 at 12:37 AM, Ravi Sharma <ping2r...@gmail.com> wrote:

> you are already sorting on date..and that can be best candidate for paging
> too.... but u may need indexes in both direction(asc,desc) for creation
> date.
>
> lets say ur entity has fololowing prooerty on which u will fliter
>
> propA
> propB
> creationData
>
> so u will write basic query like
> select * from entity where propA='something' and propB='xyz' order by
> creationDate asc.
>
> once you get this result, keep this first record's creation date and last
> record's date, may be send it to client and attach it to  prev, next links.
> At this stage prev will be null(as its start of the paging.i.e. first page)
> and next will be creation date of last record.
>
> If user click Next execute a query like this
> select * from entity where propA='something' and propB='xyz' and
> creationDate>dateSuppliedByClient order by creationDate asc..Here
> dateSuppliedByClient is creationDate of last record of above query.
>
> again do the same thing bind the creationDate first record to previous and
> last record to Next.
> so for every next you will keep executing second query
>
> now if user click previous, then execute bit different query
> select * from entity where propA='something' and propB='xyz' and
> creationDate<dateSuppliedByClient order by creationDate *desc*.Here
> dateSuppliedByClient is creationDate of first record of above query.
>
> NOTE : creationDate condition clause has changed and sorting order has
> changed
>
> So u will have following Indexes
> propA ^ propB^ creationDate^
> propA ^ propB^ creationDate(Desc)
>
>
>
>
>
>
>
>
>
> On Thu, Jun 10, 2010 at 7:34 PM, RAVINDER MAAN <rsmaan...@gmail.com>wrote:
>
>> I forsee that there will be around 1000000 records or entities in one
>> table.I have to do filtering based on one or two ,sorting based on creation
>> date then display results through pagination with back and forth traversing
>> of records.so what will be the best strategy in this case.
>>
>>
>> On Thu, Jun 10, 2010 at 10:31 PM, Nacho Coloma <icol...@gmail.com> wrote:
>>
>>> Cursors is the best choice, but they can only be used to paginate
>>> forward. You will have to use your own hacks to allow  more than one
>>> page. setRange() is more flexible, but should give you worse
>>> performance.
>>>
>>> On Jun 10, 3:27 pm, RAVINDER MAAN <rsmaan...@gmail.com> wrote:
>>> > I am using JDO .So which option is best cursors or setRange?
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > On Wed, Jun 9, 2010 at 1:47 PM, Nacho Coloma <icol...@gmail.com>
>>> wrote:
>>> > > You should specify if you are using JDO, JPA or other. SimpleDS has a
>>> > > PagedQuery implementation that can be ported to your own environment.
>>> > > Look for getFetchOptions() in this link:
>>> >
>>> > >
>>> http://code.google.com/p/simpleds/source/browse/trunk/src/main/java/o...
>>> >
>>> > > This will only resolve the paging, and it's not optimal but
>>> convenient
>>> > > (can jump to a specific page etc). For an optimal solution, use
>>> > > cursors.
>>> >
>>> > > On Jun 9, 7:36 am, RAVINDER MAAN <rsmaan...@gmail.com> wrote:
>>> > > > Hello all
>>> > > >     how can i get my query result sorted based on creationdate and
>>> > > > also i want to do pagination for the same.what is the best way to
>>> do
>>> > > > that.can anybody refer me any example code?
>>> > > > Thanks
>>>
>>> >
>>> > > --
>>> > > You received this message because you are subscribed to the Google
>>> Groups
>>> > > "Google App Engine for Java" group.
>>>
>>> > > To post to this group, send email to
>>> > > google-appengine-j...@googlegroups.com.
>>>
>>> > > To unsubscribe from this group, send email to
>>> > > google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com><google-appengine-java%2B
>>> unsubscr...@googlegroups.com>
>>> > > .
>>> > > For more options, visit this group at
>>> > >http://groups.google.com/group/google-appengine-java?hl=en.
>>> >
>>> > --
>>> > Regards,
>>> > Ravinder Singh Maan
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Google App Engine for Java" group.
>>> To post to this group, send email to
>>> google-appengine-j...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/google-appengine-java?hl=en.
>>>
>>>
>>
>>
>> --
>> Regards,
>> Ravinder Singh Maan
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Google App Engine for Java" group.
>> To post to this group, send email to
>> google-appengine-j...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/google-appengine-java?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To post to this group, send email to
> google-appengine-j...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>



-- 
Regards,
Ravinder Singh Maan

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to