AWS Athena 上的 OFFSET

OFFSET on AWS Athena

我想 运行 使用 LIMITOFFSET 子句对 AWS Athena 进行查询。我认为 the latter is not 支持前者。有什么方法可以使用其他方法模拟此功能吗?

使用OFFSET进行分页是非常低效的,尤其是像Presto这样的分析型数据库,经常需要进行全table或分区扫描。此外,查询之间的结果不一定一致,因此在页面之间导航时可能会出现重复或缺失的结果。

在像 MySQL 或 PostgreSQL 这样的 OLTP 数据库中,最好对索引使用范围查询,在其中跟踪上一页上看到的最后一个值。

在像 Presto 这样的 OLAP 数据库中,最好缓存结果集并使用缓存的数据执行分页。您不想 运行 每次用户单击以转到不同页面时都对数十亿或数万亿行进行昂贵的查询。

有关问题和索引方法的更详细解释,请参阅这些文章: