采用OFFSET了分页是非常低效的,尤其是对于一个分析数据库普雷斯托一样,往往必须执行全表或分区扫描。此外,结果在查询之间不一定是一致的,因此在页面之间导航时,结果可能重复或丢失。
在OLTPMySQL或PostgreSQL之类的数据库中,最好对索引使用范围查询,在该索引中,您可以跟踪上一页中看到的最后一个值。
在OLAP像Presto这样的数据库中,最好缓存结果集并使用缓存的数据执行分页。您不想每次用户单击以转到不同页面时都对数十亿或数万亿行进行昂贵的查询。

采用OFFSET了分页是非常低效的,尤其是对于一个分析数据库普雷斯托一样,往往必须执行全表或分区扫描。此外,结果在查询之间不一定是一致的,因此在页面之间导航时,结果可能重复或丢失。
在OLTPMySQL或PostgreSQL之类的数据库中,最好对索引使用范围查询,在该索引中,您可以跟踪上一页中看到的最后一个值。
在OLAP像Presto这样的数据库中,最好缓存结果集并使用缓存的数据执行分页。您不想每次用户单击以转到不同页面时都对数十亿或数万亿行进行昂贵的查询。