我正在制作Grails应用程序,我们将实施排行榜。假设用户正在玩摇滚剪刀,排行榜正在计算胜利,失败和关系。那很好,没问题。但是现在我们的用户群变得足够大,以至于一个人必须滚动和滚动并滚动才能找到它们在列表中的位置。我们想要做的是在排行榜上显示前10名左右(这显示在iPhone btw上),然后显示用户的名字,其排名与其他所有人一样:
3,194你
我知道这可以通过查询完整列表然后计算位置来实现,但每次执行似乎都很昂贵。我想到的一个替代方案就是从石英作业运行该查询并保存每个人在排行榜中的当前位置,以便于访问。我不喜欢那个,因为那时它不会是一个实时答案。
我认为我正在寻找的是一种GORM方式,几乎可以根据查询条件在同行中为单个记录执行indexOf。