假设有一个包含数据的表products
id | product | amount
---------------------
1 | keyboard| 1
2 | monitor | 2
3 | computer| 3
4 | mouse | 4
userA通过两个产品从此表加载数据。所以他做到了
SELECT * FROM products ORDER BY amount LIMIT 2 OFFSET 0
他获得了身份1
和2
的产品。但是,当userA正在读取两个第一个位置时,userB更改了表中的数据,因此它变为
id | product | amount
---------------------
1 | keyboard| 3
2 | monitor | 1
3 | computer| 3
4 | mouse | 1
现在,UserA需要其他数据,因此他SELECT * FROM products ORDER BY amount LIMIT 2 OFFSET 2
并且他获得了ID为2
和4
的产品,这不是他所期望的。
所以我们在这里看到,如果有多个用户和一些用户进行更新而其他用户正在阅读某些页面,则会出现分页问题。这些问题是如何解决的?当然,在实例中,有数千行+连接。
答案 0 :(得分:0)
在上面的例子中,按变量排序是挑战。
你能解决这个问题的一种方法是,
最好通过添加“ LastModificationTime ”等字段来审核此类数据,以指示上次修改该行的时间,并将其与其他列一起显示。