AWS上的OFFSET Athena

我想在AWS Athena上运行LIMITOFFSET子句的查询。我以前支持,而the latter is not。有没有使用其他方法来模拟此功能的方法?AWS上的OFFSET Athena

回答:

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

OLTP数据库(如MySQL或PostgreSQL)中,最好对索引使用范围查询,以便跟踪上一页中显示的最后一个值。

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

参见该问题的更详细的解释和指标的做法,这些文章:

  • http://use-the-index-luke.com/no-offset
  • http://use-the-index-luke.com/sql/partial-results/fetch-next-page

以上是 AWS上的OFFSET Athena 的全部内容, 来源链接: utcz.com/qa/259916.html

回到顶部