Recent studies have identified two main approaches to improve query optimization: learned query optimization (LQO), which generates or selects better query plans before execution based on models trained in advance, and adaptive query processing (AQP), which adapts the query plan during execution based on statistical feedback collected at runtime. Although both approaches have shown promise, they also face critical limitations. LQO must commit to a fixed plan without access to actual cardinalities and typically rely on a single end-to-end feedback signal, making learning inefficient. On the other hand, AQP depends heavily on rule-based heuristics and lacks the ability to learn from experience. In this paper, we present AQORA, a learned adaptive query optimizer that continuously refines query plans through stage-level feedback, unifying pre-execution and in-execution optimization within a single learning process. AQORA addresses the above challenges through four core strategies: (1) realistic feature encoding, (2) query stage-level feedback and intervention, (3) automatic strategy adaptation, and (4) low-cost integration. Experiments show that AQORA reduces end-to-end execution time by up to 90% compared to other learned methods and by up to 70% compared to Spark SQL's default configuration with adaptive query execution.
翻译:近期研究指出了改进查询优化的两种主要途径:学习型查询优化(LQO)基于预先训练的模型在执行前生成或选择更优的查询计划;自适应查询处理(AQP)则根据运行时收集的统计反馈在执行过程中动态调整查询计划。尽管这两种方法都展现出潜力,但它们也面临关键局限。LQO必须在无法获取实际基数的情况下确定固定计划,且通常依赖单一端到端反馈信号,导致学习效率低下。另一方面,AQP严重依赖基于规则的启发式方法,缺乏从经验中学习的能力。本文提出AQORA——一种通过阶段级反馈持续优化查询计划的学习型自适应查询优化器,它将执行前与执行中的优化统一在单一学习框架内。AQORA通过四项核心策略应对上述挑战:(1)现实特征编码,(2)查询阶段级反馈与干预,(3)自动策略适配,以及(4)低成本集成。实验表明,相较于其他学习方法,AQORA可将端到端执行时间降低达90%;与启用自适应查询执行的Spark SQL默认配置相比,性能提升最高达70%。