AWS上的OFFSET Athena
我想在AWS Athena上运行LIMIT
和OFFSET
子句的查询。我以前支持,而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