当前位置: 首页 > 面试题库 >

AWS Athena上的OFFSET

赵超
2023-03-14
问题内容

我想使用aLIMIT和OFFSET子句在AWS Athena上运行查询。我认为前者是受支持的,而后者则不受支持。有没有其他方法可以模拟此功能?


问题答案:

采用OFFSET了分页是非常低效的,尤其是对于一个分析数据库普雷斯托一样,往往必须执行全表或分区扫描。此外,结果在查询之间不一定是一致的,因此在页面之间导航时,结果可能重复或丢失。

在OLTPMySQL或PostgreSQL之类的数据库中,最好对索引使用范围查询,在该索引中,您可以跟踪上一页中看到的最后一个值。

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



 类似资料:
  • Animal.java 我为它创建了以下自定义断言: AnimalAssert.java 编辑:基于第一个答案(cglib需要一个),我用一个no arg构造函数更新了动物类,但是抛出了相同的异常

  • 我的应用程序一直在许多Android平台上报告这个问题(4.1、4.0.4、2.3.6.…)。但我无法在我的手机上复制这个问题。我已经在Google上搜索了这个问题,但堆栈跟踪似乎与我的不一样。

  • 我有一台带有Intel CPU的Windows机器(在引导菜单上启用VMX)。我使用VirtualBox在上面运行Ubuntu Guest。我在上面运行qemu,以运行另一个Guest OS,使用kvm(选项)。 我在尝试插入kvm-intel模块时收到以下错误: 我已经检查了来宾操作系统中的vpx标志,但我也没有看到 有没有办法在来宾Ubuntu操作系统中启用kvm支持,以便我可以在Ubuntu

  • 我试图从java程序中使用Spark SQL,其中pom.xml中的依赖关系指向Spark版本1.6.0。下面是程序 但是,我在线程“main”java.lang.nosuchmethoderror:org.apache.spark.sql.sqlcontext.sql(ljava/lang/string;)lorg/apache/spark/sql/dataframe中出现异常;我正在创建一个平

  • 主机系统为ARCHLinux。我想开发需要运行Windows docker容器的.NET4.6.1应用程序。所以我在VirtualBox下运行Win10。然后我在Win10中安装Docker,以运行Windows Docker容器。Linux->VirtualBox->Win10->Docker->Windows Docker容器->要运行的应用程序。 或者更具体地说,VirtualBox是否支持

  • 问题内容: 我正在尝试根据此教程在我的应用程序中实现NotificationListenerService:http : //www.kpbird.com/2013/07/android- notificationlistenerservice.html ,但是调用getActiveNotifications时出现NullPointerException。 我正在向该服务发送广播,该广播应生成所有