Hi Josh,
You might want to look into the 'ranklist' library. It'll allow you to keep
a large (much larger than 1000) set of records in ranked order, and
efficiently answer queries like 'what is the value of the 235th entry?' and
'where would a score of 500 place me?'.

http://code.google.com/p/google-app-engine-ranklist/

-Nick Johnson

On Fri, Oct 2, 2009 at 10:40 PM, Josh <[email protected]> wrote:

>
> Hi all,
>
> I've seen a number of interesting discussions on how to do efficient
> pagination on appengine, but one thing that I haven't seen addressed,
> which I would like, is how to efficiently compute ranking information
> for the items that are paginated.
>
> Let me motivate this discussion by considering a leader board.  We
> have a model like so:
>
> class Player(db.Model):
>  name = db.StringProperty()
>  score = db.IntegerProperty()
>  last_updated = db.DateTimeProperty(auto_now=True)
>
> We may have hundreds of thousands of Players and we want to be able to
> rank them by their score.
>
> How could we used the previously discussed pagination techniques
> (http://code.google.com/appengine/articles/paging.html) to efficiently
> page through the leader board and not only show the Players in order
> by score, but also assign a rank value to each player.
>
> Many thanks for your thoughts and input.
>
> Cheers,
> Josh
>
> >
>


-- 
Nick Johnson, Developer Programs Engineer, App Engine
Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
368047

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to