0

我有接收属性offsetcount的 REST 服务和方法。

网址示例:blablabla?offset=10&count=10

假设我正在为无限滚动选择数据,并且我的网站有很多用户,所以当我向下滚动时,我的数据库中有新项目,这意味着当我选择偏移量10 并计数10 时,它有新的 10 个项目,所以我会选择相同的数据。MySQL是否有一些技巧来防止它,并正确选择它?

4

1 回答 1

1

将您的数据放入已定义的、可重现的顺序;意思是按日期或id之类的东西对其进行排序,每次排序时顺序都是稳定的。然后使用列表中最后一项的日期/id/任何内容作为“偏移量”:

bla?last=12345&count=10

  SELECT *
    FROM foo
   WHERE id < [last id]
ORDER BY id DESC
   LIMIT [count]

在这种情况下,当使用 ids 时,您需要确保您的 ids 始终递增,以便新记录始终具有比旧记录更高的 id。或者使用另一个标准来排序/偏移。

于 2013-09-17T09:32:18.050 回答