许多web界面可以让用户轻松地浏览大量数据。对程序员来说,实现获取这些页面的数据库查询也很容易,通常需要一个抵消
和限制
在SQL和从
和大小
在Elasticsearch中。尽管这种方法对用户和程序员来说很容易,但是这种类型的分页查询对于SQL、Elasticsearch和其他数据库引擎来说有很高的隐藏成本。
在Salsify,我们在实现允许用户在一个大的、经过严格筛选和排序的集合中逐步遍历记录的特性时遇到了这个问题。我们必须实现在SQL和ES数据存储中都能工作的高效分页解决方案。在这篇文章中,我们将介绍一种有趣的技术,它可以使大型数据集数据库的分页效率更高。具体来说,我们将研究SQL中的实现以及如何将此方法转换为Elasticsearch。