分页显示数据-一次获取全部数据还是每一页获取一部分?

时间:2019-12-12 23:06:24

标签: sql performance pagination limit offset

如果要分页显示数据,哪种方法在性能方面最好?我应该从数据库下载所有数据,然后根据当前页面在本地切换这些部分,还是从数据库中逐部分获取数据?

首先,我选择了第二种选择,但我开始怀疑,发现了this文章,但我现在迷路了。

在我的SQL查询中,我使用的是OFFSET和LIMIT属性,并且由于我还获得了分页的最后一页,所以据我所知,更好的选择是第一个?需要注意的是我的数据库很小。

最好的一种选择是仍然使用OFFSET而不阅读最后一页,或者我写错了(如果数据库更大并且性能得到改善)?

编辑:

仅供参考。因此,最后,我按照文章所述实施了它。删除了“移至最后一页”按钮,这样就不会被迫计算所有行,而且无论如何我都获得了按特定列排序的一些功能,例如ASC / DESC,因此即使用户想转到最后一页,他也可以随意单击此过滤器选项,他将获得最后一个元素,但使用的方法正如我在ASC / DESC查询之前所说的那样,希望比OFFSET更快。

1 个答案:

答案 0 :(得分:0)

因此,最后,正如文章所述,我实现了它。删除了“移至最后一页”按钮,这样就不会被迫计算所有行,而且无论如何我都获得了按特定列排序的一些功能,例如ASC / DESC,因此,即使用户想转到最后一页,他也可以随意单击此过滤器选项,他将获得最后一个元素,但使用的方法正如我之前在ASC / DESC查询中所说的那样,希望比OFFSET更快。