gpt4 book ai didi

用于分页的 MySQL 查询性能

转载 作者:行者123 更新时间:2023-11-29 03:22:53 25 4
gpt4 key购买 nike

好的,那么归结为在 mysql 中分页的最佳实践是什么。让我说得更清楚,假设给定时间我有 2000 条记录,并且还有更多记录被插入。我一次显示 25,我知道我必须使用 limit 来对记录进行分页。但是我应该如何处理我的记录总数呢?每次用户点击请求下 25 条记录时,我是否统计记录。请不要直接告诉我答案,而是给我指出正确的方向。谢谢!

最佳答案

最简单的解决方案是在插入新记录时继续正常处理结果集。据推测,您显示的每个页面都将使用如下所示的查询:

SELECT *
FROM yourTable
ORDER BY someCol
LIMIT 25
OFFSET 100

当用户来回翻页时,如果有新数据进入,页面可能会与之前的页面发生变化。从逻辑的角度来看,这还不错。例如,如果您有一个按字母顺序排列的产品列表,并且出现了一个新产品,那么用户会以一种相当不错的方式收到此信息。

至于计数,只要有数据支持添加新页面,您的代码就可以允许移动到下一页。添加新记录可能意味着需要更多页面来覆盖整个表格,但这不应影响您用于确定何时停止允许页面的逻辑。

如果您的表有一个日期或时间戳列表示添加记录的时间,那么您实际上可以将整个结果集限制为时间快照。在这种情况下,您可以阻止新数据进入给定 session 。

关于用于分页的 MySQL 查询性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40987010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com