如果想要从支持分页的数据源中分页结果,我们必须进入以下过程:
所有这些都可以正常工作,而不考虑操作可能会影响后端系统,这会破坏正在发生的分页。我说的是有人在页面提取或删除数据之间插入数据。
page_size = 10;
get page 0 -> results from 0 to 9;
user inserts a record that due to the query being executed goes to page 0 - the one just shown;
get page 1 -> results from 10 to 19 - the first results on the page is the result on the old page 0.
所描述的行为可能会导致观众混淆。你知道解决这个问题的任何实际解决方案。
答案 0 :(得分:1)
这有一些思想流派。
答案 1 :(得分:0)
如果您关注的更新主要是新插入(例如,StackOverflow本身在分析问题并出现新问题时似乎遇到此问题),处理它的一种方法是在发出时捕获时间戳首先进行分页查询,然后将后续页面请求的结果限制为该时间戳之前存在的项目。
答案 2 :(得分:0)
只要用户了解基础数据总是在变化,他们就不会感到困惑。所以,只需按照简单的方式进行。
您可以缓存结果的前几页并将其用于后续视图,但结果将与数据库不同步,这更加令人困惑。