0

我有一个简单的排行榜系统。当这需要 2 个查询(一个用于获取其分数在表中的位置,另一个用于获取围绕它的页面)并且可能会在它们之间到达新的分数时,如何将结果页面居中于用户分数。锁定桌子是唯一的方法吗?还是有某种原子方法?如果我在偏移值中嵌入查询,那是原子的吗?

4

1 回答 1

1

最简单的解决方案之一是在两侧获得可见页面+一些额外的。即使有新记录出现,您也应该几乎总是有足够的数据将 UI 集中在活动玩家身上。

但是,您应该始终准备好处理没有足够的数据来使玩家居中 - 排行榜的顶部和底部等。

如果播放器根本没有出现在页面中,您必须再提出一两个请求。但是,玩家在短时间内(几秒钟内完成两个查询)被推出页面的几率非常低,因此只要 UI 不挂起,体验应该还不错。

于 2013-03-09T15:36:56.867 回答