我正忙于我的框架的分页组件,我想知道以下哪两个更快(或者是否有更好的解决方案更好)。
我的想法是让我的对象按以下顺序执行以下操作:
- 从 GET 变量获取当前页面和每页结果
- 获取用于显示目的的结果总数(显示 534 个结果中的 10 个)
- 根据当前页面和每页结果确定要获取的结果。
- 将结果返回到视图以显示和构建分页类
据我所见,我有以下两种选择之一:
结果较少的多个查询
- 执行查询以确定所有结果的行数。
- 使用偏移量执行另一个查询以返回活动页面所需的结果
一次查询并让 PHP 进行处理
- 将所有行返回到数组
- 让 PHP 从数组中返回行并执行 count()
哪个会更快?我理解选项 1 的结果越多越好,但是感觉仍然感觉像 2 个查询来计算行然后返回某些结果仍然比仅返回所有结果并让 PHP 完成其余处理的 1 个查询更快。
也许还有另一种更充分的方式我想念?