a L*_*ner 5 mysql sql pagination
我正在使用MySQL 中的SQL 限制db.Records来实现分页,需要得到
从最后一行向后检索。表中有几千条记录
我想一次检索 500 条记录以显示在页面中。
SELECT * FROM tbl_name ORDER BY some_col DESC
Run Code Online (Sandbox Code Playgroud)
将检索所有记录。
但我不想要所有记录,因为它们的数量有数千个。
如果我使用
SELECT * FROM tbl_name ORDER BY some_col DESC LIMIT 500
Run Code Online (Sandbox Code Playgroud)
它将按降序返回最后 500 条记录。
但我找不到从第一个块剩下的点开始反向检索下一个 500 块的方法。
SELECT
<column list since I never use *>
FROM
My_Table
ORDER BY
some_column DESC
LIMIT 500, 500
Run Code Online (Sandbox Code Playgroud)
编辑:关于您对罗伯特的回答的评论...随着偏移量变大,性能会下降,但明显下降的点通常相当大。来自我一两天前在寻呼上对类似问题的回答:
我强烈认为 UI 绝对不应该允许用户检索一组让他们转到(例如)第 5000 页的记录。对于人类大脑来说,一次性发现有用的数据太多了,应该要求进一步过滤。也许让他们看到前 100 页(或其他数字),但否则他们必须更好地限制结果。只是我的意见。
| 归档时间: |
|
| 查看次数: |
11610 次 |
| 最近记录: |