Sprinkling Selections over Join DAGs for Efficient Query Optimization
在查询优化中,基于AND/OR DAG的解决方案可以生成所有可能的连接顺序,并在搜索最佳查询执行策略之前选择放置。但随着连接数和选择条件的增加,生成最优查询计划的空间和时间复杂度呈指数级增长。在本文中,我们使用连接图的关系数据库模式,要么预先计算所有可能的连接顺序,可以被执行,并将其存储为一个连接DAG,或提取连接的查询,以逐步建立一个历史连接DAG的查询时,执行。查询中的选择条件被适当地放置在检索到的连接DAG(或历史连接DAG)中,以生成最优的查询执行策略。我们实验评估我们的查询优化技术TPC-D/H查询集,以显示其有效性与/或DAG查询优化策略。最后,我们说明了我们的技术可以用于有效的多个查询优化和选择的物化视图在数据仓库环境中。
2002-02-21 cs.DB
Query Rewriting and Optimization for Ontological Databases
对照由扩展数据库和本体(即,从外延数据库导出新的内涵知识的一组逻辑断言和约束),而不是直接在外延数据库上。这种查询的评价和优化是数据库研究的一个有趣的新问题。在本文中,我们讨论了这个问题的两个重要方面:查询重写和查询优化。查询重写包括将本体查询编译为针对底层扩展数据库的等效一阶查询。我们提出了一种新的查询重写算法,而一般类型的本体约束,这是非常适合于实际的实现。特别是,我们展示了如何对知识库的合取查询,表示使用线性和粘性的存在规则,也就是说,最近推出的Datasheet +/-家庭的本体语言的成员,可以编译成一个联盟的合取查询(UCQ)对底层数据库。在这种情况下,本体查询优化试图改进这种重写过程,以便为输入查询产生可能小且成本有效的UCQ重写。
2014-05-12 cs.DB
Efficient and Extensible Algorithms for Multi Query Optimization
随着决策支持系统的使用越来越多,复杂查询变得越来越普遍。这些复杂的查询通常有许多公共的子表达式,或者在单个查询中,或者在多个这样的查询中作为批处理运行。多查询优化的目的是利用公共子表达式来降低计算代价。多查询优化到目前为止被认为是不切实际的,因为早期的算法是穷举的,并且探索双指数搜索空间。在本文中,我们证明了多查询优化使用逻辑是实用的,并提供了显着的好处。我们提出了三个基于成本的启发式算法:火山SH和火山RU,这是基于简单的修改火山搜索策略,和一个贪婪的启发式。我们的贪婪启发式算法采用了新颖的优化,大大提高了效率。我们的算法被设计成可以很容易地添加到现有的优化。我们提出了一个性能研究比较的算法,使用工作负载组成的查询从TPC-D基准。研究表明,我们的算法提供了显着的优势,传统的优化,在一个非常可接受的开销优化时间。
1999-10-25 cs.DB
Query Optimization in the Wild: Realities and Trends
Microsoft(微软)
本文从工业视角探讨查询优化的现状与挑战,指出反馈机制、工作负载优化和可组合架构三大趋势将推动查询优化向动态、全面和适应性强的方向发展。
2026-03-23 cs.DB
Distributed Query Processing Plans generation using Teacher Learner Based Optimization
随着数据库的日益普及,数据源的数量和数据量在近几年都在快速增长。操作数据在分散数据源上的分布对处理用户查询提出了挑战。在这样的数据库系统中,查询所需的数据库关系可以存储在多个站点。这导致用户查询的可能等价物或替代物的数量呈指数级增长。虽然在一个大的搜索空间中穷尽所有可能的查询计划在计算上是不合理的,但是在分布式数据库系统中产生最优查询计划的策略是必需的。具有最具成本效益的查询处理选项的查询计划是必要的,并且必须为给定的查询生成。本文试图产生这样的最佳查询计划,使用无参数的优化技术基于教学的优化(TLBO)。TLBO算法在求解多目标无约束和有约束基准优化问题时,均取得了较好的效果。实验比较了基于TLBO的最优查询计划生成算法和基于多目标遗传算法的分布式查询计划生成算法,结果表明,对于更大的关系数,基于TLBO的算法能够生成质量相对更好的TopK查询计划。
2016-02-14 cs.DB
Multi-Objective Optimization, different approach to query a database
现在可用的数据集非常丰富和复杂,但我们如何获得我们正在寻找的信息?在本调查中,分析了两种不同的数据集查询方法,并解释了每种类型的算法。具体地,针对Top-K查询分析了TA和NRA,并且针对skyline查询检查了基本块嵌套循环。此外,它解释了优先和灵活的天际线背后的核心思想。最后,基于不同的标准,对每种类型的分析查询的优点和缺点进行了评估。
2022-02-03 cs.DB
LocationSpark: In-memory Distributed Spatial Query Processing and Optimization
由于空间数据应用的普遍性以及这些应用产生和处理的大量空间数据,迫切需要可伸缩的空间查询处理。在本文中,我们提出了空间查询处理和优化的新技术,在内存和分布式设置,以解决可扩展性。更具体地说,我们引入了新的技术来处理查询偏斜,这在实践中是常见的,并相应地优化通信成本。我们提出了一个分布式查询调度器,使用一个新的成本模型来优化空间查询处理的成本。调度程序生成查询执行计划,以最大限度地减少查询倾斜的影响。查询调度器采用基于位图过滤器的新的空间索引技术,将查询转发到适当的本地节点。每个本地计算节点负责基于该节点中的索引和空间查询的性质来优化和选择其最佳本地查询执行计划。所有提出的空间查询处理和优化技术都在Spark(一个基于内存的分布式计算系统)中原型化。实验研究是基于真实的数据集,并表明,分布式空间查询处理可以提高到一个数量级,超过现有的内存和分布式空间系统。
2019-07-16 cs.DB
Exact Selectivity Computation for Modern In-Memory Database Query Optimization
经过几十年的研究和工业发展,选择性估计仍然是查询优化中的一个关键任务。优化器在生成执行计划时依赖于准确的选择性。他们保持了大范围的统计概要,有效地估计选择性。尽管如此,小的错误-指数传播-可能导致严重的次优计划--特别是对于复杂的谓词。用于现代计算架构的数据库系统依赖于由大规模多线程并行性和向量化指令支持的大量内存中处理。但是,它们与传统的基于磁盘的数据库保持相同的查询优化概要方法。我们介绍了一种新的查询优化范例内存和GPU加速的数据库的基础上\textit{exact selectivity computation (ESC)}。ESC的核心思想是在查询优化过程中通过查询精确计算选择性。为了使该过程高效,我们提出了几个针对ESC应用的表和谓词的选择和物化的优化。我们在MapD开源数据库系统中实现了ESC。在TPC-H和SSB基准测试上的实验表明,ESC在GPU上运行时记录恒定且小于30毫秒的开销,并生成改进的查询执行计划,速度快32倍。
2019-01-06 cs.DB
Guided Automated Learning for query workload re-Optimization
查询优化是数据库系统的一个标志,它使当今应用程序的复杂SQL查询能够有效地运行。当业务查询和模式中的逻辑微妙之处绕过查询优化器时,查询优化器通常无法找到最佳计划。当查询的运行成本超过可行或保证时,通常通过分析查询的执行计划(QEP)与专家协商手动执行性能问题。然而,这是一个非常耗时、易于人为出错且成本高昂的过程。GALO是一个自动化这一过程的新系统。该工具在离线学习阶段自动学习查询计划中重复出现的问题模式,以构建计划重写补救措施的知识库。然后,它使用在线知识库来重新优化排队等待执行的查询,以提高性能,通常是相当大的。GALO的知识库建立在RDF和SPARQL(W3C图形数据库标准)之上,非常适合于操作和查询SQL查询计划,而SQL查询计划本身就是图形。GALO作为查询重写和基于成本的优化之后的第三层重新优化,作为查询计划重写。由于知识库不与所提供的QEP的上下文相关联,因此在重新优化阶段,表和列名会自动匹配。因此,在特定查询工作负载上学习的问题模式可以应用于其他查询工作负载。GALO的知识库也是数据库专家调试查询性能问题的宝贵工具,可以跟踪已知问题和解决方案,并通过开发团队的新调优技术改进优化器。我们证明了我们的技术在合成TPC-DS和真正的IBM客户端查询工作负载的有效性的实验研究。
2019-05-22 cs.DB
Probably Approximately Optimal Query Optimization
在某些情况下,评估数据样本上的查询谓词是估计其选择性的唯一方法。在这些情况下,找到有保证的最优查询计划并不是合理的优化目标,因为它可能需要无限数量的样本。因此,我们引入可能近似最优的查询优化(PAO)的目标是找到一个查询计划,其成本是接近最优的一定的概率。我们将证明为什么PAO是一个合适的形式主义模型的情况下,谓词采样和优化需要交错。我们提出了第一个算法PAO。我们的算法是非侵入性的,并使用标准的查询优化器和采样组件作为子功能。它是通用的,可以应用于广泛的场景。我们的算法是迭代的,并在每次迭代中计算一个查询计划连同一个区域中的选择性空间,该计划具有接近最优的成本。它确定真实选择性值落在上述区域内的置信度,并在置信度未达到指定为问题输入的阈值时基于当前状态选择要采集的下一个样本。我们设计了不同的算法变体,并分析了它们的复杂性。我们通过实验比较了它们在许多不同查询类上的优化器调用、样本和迭代次数。
2015-11-05 cs.DB
How Good are Learned Cost Models, Really? Insights from Query Optimization Tasks
本文系统评估了七种学习型成本模型在连接顺序、访问路径和物理算子选择三个查询优化核心任务上的表现,发现传统成本模型往往仍优于学习型模型,并为未来改进学习型成本模型提供了建议。
2025-02-03 cs.DB
A Fast Randomized Algorithm for Multi-Objective Query Optimization
在多目标查询优化中,根据多个成本度量对查询计划进行比较。我们的目标是找到一组帕累托计划,实现最佳的成本权衡为一个给定的查询。到目前为止,对于多目标查询优化,只提出了复杂度与查询表数成指数关系的算法。在这项工作中,我们提出了第一个算法的多项式复杂度的查询大小。我们的算法是随机的和迭代的。它通过爬山的多目标版本来改进查询计划,在每个爬山步骤中应用多个转换以实现最大效率。基于局部最优计划,我们在具有相似连接顺序的计划的有限空间内近似Pareto计划集。我们为每个潜在有用的中间结果维护一个Pareto最优计划的缓存,以共享在不同迭代中发现的部分计划。我们表明,我们的算法的每次迭代执行预期的多项式时间的基础上,通过爬山达到的随机计划和局部最优之间的预期路径长度的分析。我们的实验表明,我们的算法可以优化查询数百个表,并优于其他随机算法,如NSGA-II遗传算法在广泛的场景。
2016-03-01 cs.DB
Bitvector-aware Query Optimization for Decision Support Queries (extended version)
位向量过滤是一种重要的查询处理技术,可以显著降低执行成本,特别是对于具有多个连接的复杂决策支持查询。尽管它有广泛的应用,但是,它对查询优化的影响还没有得到很好的理解。在这项工作中,我们研究了位向量过滤器如何影响查询优化。我们表明,直接将位向量过滤器纳入查询优化可以增加计划的空间复杂度的查询中的关系的数量的指数因子。我们分析的计划与位向量过滤器的星和雪花查询的右深树没有交叉产品的计划空间。令人惊讶的是,通过一些简化的假设,我们证明了,可以从查询中的关系数量中的线性数量的计划中找到具有位向量过滤器的最小成本的计划。这大大降低了这种查询的计划空间复杂度,从指数到线性。基于我们的分析,我们提出了一个算法,占位向量过滤器在查询优化的影响。我们的算法优化了连接顺序的任意决策支持查询选择从一个线性数量的候选计划在查询中的关系的数量。我们实现了我们的算法在Microsoft SQL Server作为一个转换规则。我们对行业标准基准测试和客户工作负载的评估表明,与原始Microsoft SQL Server相比,我们的技术将工作负载的总CPU执行时间减少了22%-64%,单个查询的CPU执行时间减少了两个数量级。
2020-05-07 cs.DB
Including Bloom Filters in Bottom-up Optimization
本文提出在自底向上的代价优化器中纳入布隆过滤器,通过限制搜索空间扩展和启发式策略,在 TPC-H 100GB 上实现 32.8% 的额外延迟降低,适用于所有查询类型。
2025-05-05 cs.DB
XPath Whole Query Optimization
SXSI是一个快速的XML引擎,它在压缩的XML索引上执行树自动机。在这里,原因调查为什么SXSI是如此之快。结果表明,树自动机可以作为细粒度XML查询优化的一般框架。我们将查询的“相关节点”定义为最小自动机必须接触以回答查询的那些节点。这个概念允许在执行期间跳过许多子树,并且在特定树索引的帮助下,甚至允许跳过树的内部节点。我们有效地近似运行在相关节点上的(交替)树自动机的交替和非确定性的动态删除。我们还介绍了许多实现技术,使我们能够有效地评估树自动机,即使在没有特殊的索引。通过大量的实验,我们证明了不同的优化技术的影响。
2010-03-24 cs.DB
Enabling Incremental Query Re-Optimization
随着声明式查询处理技术的范围扩展到Web、数据流、网络路由器和云平台,人们越来越需要自适应查询处理技术,这些技术可以在出现故障或意外性能变化时重新规划。数据分布或计算节点上的状态更新可能会对应该运行哪个查询计划的选择产生重大影响。理想情况下,新的系统架构将能够基于成本做出关于重新分配工作、迁移数据等的决策,并在实时状态信息可用时快速做出反应。现有的基于成本的查询优化器本质上不是增量的,并且必须在每次状态或成本更新时“从头开始”运行。因此,它们通常导致只能缓慢地对更新做出反应的自适应方案。一个悬而未决的问题是,是否有可能在流式或重复查询执行环境中构建用于自适应查询处理的基于成本的重新优化架构,例如,通过在给定新成本信息的情况下递增地更新优化器状态。我们表明,这可以实现有益的,特别是流处理工作负载。我们的技术建立在最近提出的方法,制定查询计划枚举作为一组递归的数据库查询,我们开发了各种新的优化方法,以确保有效的修剪在静态和增量的情况下。我们实现我们的解决方案在现有的研究查询处理系统,并表明,它有效地支持基于成本的初始优化以及频繁的自适应性。
2014-09-22 cs.DB
Query-Sequence Optimization on a Reconfigurable Hardware-Accelerated System
数据库查询处理的硬件加速可以在FPGA的帮助下完成。特别是,它们在运行时是部分可重新配置的,这允许硬件在运行时适应各种查询。然而,重新配置本身需要一些时间。由于FPGA的受影响区域在重新配置期间不可用于计算,因此避免某些重新配置可以提高整体性能。本文提出了基于查询序列的优化方法,降低了重配置的影响。即将到来的查询的知识用于(I)当查询仍在运行时推测性地开始重新配置,以及(II)避免将在后续查询中再次使用的可重新配置区域的重复。我们使用校准模型和各种参数值的测量来评估我们的优化。即使使用只有两个查询的序列,也可以获得高达21%的执行时间改进
2020-01-29 cs.DB
The ReProVide Query-Sequence Optimization in a Hardware-Accelerated DBMS
数据库查询处理的硬件加速可以在FPGA的帮助下完成。特别是,它们在运行时是部分可重新配置的,这允许硬件在运行时适应各种查询。然而,重新配置本身需要一些时间。由于FPGA的受影响区域在重新配置期间不可用于计算,因此避免某些重新配置可以提高整体性能。本文提出了基于查询序列的优化方法,降低了重配置的影响。即将到来的查询的知识用于(I)当查询仍在运行时推测性地开始重新配置,以及(II)避免将在后续查询中再次使用的可重新配置区域的重复。我们使用校准模型和各种参数值的测量来评估我们的优化。即使只有两个查询的序列,也可以获得高达28%的执行时间改进。
2020-05-01 cs.DB
Query Optimization for Dynamic Graphs
给定表示感兴趣模式的查询图,新兴的模式检测问题可以被视为动态图上的连续查询问题。我们提出了一个增量式的算法,用于动态图上的连续查询处理。该算法是基于查询分解的概念,我们将查询图分解成更小的子图,并组装子查询的结果,以找到与指定的查询完全匹配。我们的工作的新颖之处在于使用子图的分布统计收集的动态图生成的分解。我们引入了一个“懒惰搜索”算法,其中的搜索策略是决定在一个顶点到顶点的基础上,取决于在顶点邻域中的匹配的可能性。我们还提出了一个度量命名为“相对选择性”,用于选择不同的查询分解策略。我们在真实的在线新闻,网络流量流和合成社交网络基准上进行的实验表明,与竞争方法相比,速度提高了10- 100倍。
2014-07-14 cs.DB
Approximation Schemes for Many-Objective Query Optimization
多目标查询优化(MOQO)的目标是找到在云场景中实现冲突目标(例如最小化执行时间和最小化货币费用)之间的良好折衷的查询计划。以前提出的穷举MOQO算法需要几个小时来优化即使是简单的TPC-H查询。这就是为什么我们为MOQO提出了几个近似方案,这些方案可以在几秒钟内生成有保证的接近最优的计划,而穷举优化需要几个小时。我们将所有MOQO算法集成到Postgres优化器中,并给出了TPC-H查询的实验结果;我们扩展了Postgres成本模型,并在实验中优化了多达9个相互冲突的目标。所提出的算法是基于MOQO的背景下发生的典型成本函数的正式分析。我们确定的属性,持有广泛的目标,并可以利用未来的MOQO算法的设计。
2014-03-31 cs.DB
First Past the Post: Evaluating Query Optimization in MongoDB
本文分析了 MongoDB 的 FPTP 查询优化器有效性,发现其存在偏好索引扫描的偏差,导致所选计划运行时间可达最优计划的两倍以上。
2024-09-25 cs.DB
Query Optimization Techniques In Graph Databases
图数据库(GDB)是近年来为克服传统数据库在存储和管理类图数据方面的局限性而出现的。如今,它们代表了许多管理类似图形数据的应用程序(如社交网络)的需求。大多数用于优化图数据库查询的技术已被用于传统的数据库、分布式系统和数据库。或者是从图论中得到的启发。然而,它们在图数据库中的重用应该考虑图数据库的主要特征,例如动态结构、高度互连的数据以及有效访问数据关系的能力。本文综述了图数据库中的查询优化技术。特别是,我们专注于他们引入的功能,以改善查询类图数据。
2016-09-07 cs.DB
NEURON: Query Optimization Meets Natural Language Processing For Augmenting Database Education
关系数据库管理系统(RDBMS)是世界上许多大学的计算机科学课程的一部分。该课程的核心组成部分是关系数据库管理系统中查询优化器的设计和实现。查询优化器的目标是自动识别执行用户提交的声明性SQL查询的最有效执行策略。查询优化过程产生表示查询的执行策略的查询执行计划(QEP)。由于底层查询优化器的复杂性,理解QEP要求学生了解与RDBMS相关的特定于实现的问题。实际上,这是一个不切实际的假设,因为大多数学生都是第一次学习数据库技术。因此,他们通常很难通过仔细阅读QEP来理解DBMS所承担的查询执行策略,从而阻碍了他们的学习过程。在这个演示中,我们提出了一个新的系统,称为神经元,促进自然语言与QEP互动,以提高其理解。NEURON接受SQL查询(可能包括连接、聚合、嵌套等)作为输入,执行它,并生成底层RDBMS部署的执行策略的简化的基于自然语言的描述(文本和语音形式)。此外,它通过基于自然语言的问答框架促进了对与QEP相关的各种特征的理解。我们主张,这样的工具,世界上第一个,可以大大提高学生的学习查询优化的主题。
2018-08-21 cs.DB
Least expected cost query optimization: an exercise in utility
我们确定了两个不合理的,虽然标准的,数据库查询优化,可能会对所选择的评估计划的质量产生不利影响的假设。一个假设是,对于预期的情况进行优化就足够了--也就是说,各种参数(如可用内存)采用其预期值的情况。另一个假设是参数在整个查询执行过程中是恒定的。我们提出了一个算法的基础上的“R系统”式的查询优化算法,不依赖于这些假设。我们提出的算法选择最小期望成本的计划,而不是最低成本的计划给定的一些固定值的参数。在表现出高度可变性的执行环境中,我们的技术应该会带来更好的性能。
1999-09-21 cs.DB
Cost-Aware Optimization for Agentic Query Execution
The University of Texas at Austin(德克萨斯大学奥斯汀分校);University of Illinois Urbana-Champaign(伊利诺伊大学厄巴纳-香槟分校);Rice University(莱斯大学)
针对LLM支持的查询执行中算子放置、顺序和粒度影响代价与质量的问题,提出EnumGRPO优化器,通过上下文强化学习从枚举计划中蒸馏启发式策略,在SWAN数据库上实现0.011美元/查询的LLM代价和35.4%的执行准确率。
2026-10-08 cs.DB
Apache Calcite: A Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources
Apache Calcite是一个基础软件框架,为许多流行的开源源数据处理系统(如Apache Hive、Apache Storm、Apache Flink、Druid和MapD)提供查询处理、优化和查询语言支持。Calcite的体系结构包括一个模块化和可扩展的查询优化器,具有数百个内置优化规则,一个能够处理各种查询语言的查询处理器,一个为可扩展性设计的适配器体系结构,以及对异构数据模型和存储(关系,半结构化,流和地理空间)的支持。这种灵活、可嵌入和可扩展的架构使Calcite成为大数据框架中具有吸引力的选择。它是一个活跃的项目,继续引入对新型数据源、查询语言以及查询处理和优化方法的支持。
2018-02-28 cs.DB
PARQO: Penalty-Aware Robust Plan Selection in Query Optimization
针对查询优化中选择性估计不确定性导致执行计划表现差的问题,提出PARQO系统,通过工作负载剖析建误差模型、敏感性分析找关键维度,能生成鲁棒高性能计划,实现高效参数化优化。
2024-07-15 cs.DB
ROSIE: Runtime Optimization of SPARQL Queries Using Incremental Evaluation
关系数据库在资源描述框架(RDF)数据管理中得到了广泛的应用。为了有效地进行SPARQL查询评估,需要重新考虑遗留查询优化器。其中一个重要的问题是如何解决由于基数估计容易出错而导致的查询计划不理想的问题。考虑到RDF数据的无模式特性和SPARQL查询的Join密集特性,在实际评估的查询是昂贵的甚至是不可行的之前确定最佳执行顺序,特别是对于大规模数据的复杂查询。在本文中,我们提出了ROSIE,一个迭代优化框架,迭代地重新优化SPARQL查询计划,根据实际基数来自增量部分查询评估。通过引入一种基于启发式的计划生成方法,以及一种在运行时检测基数估计错误的机制,ROSIE以一种有效的方式缓解了有偏基数传播的问题,从而对复杂的查询评估更具弹性。在真实数据和基准数据上进行的大量实验表明,与最先进的技术相比,ROSIE在复杂查询上的表现一直优于几个数量级。
2016-05-23 cs.DB
Query and Resource Optimizations: A Case for Breaking the Wall in Big Data Systems
现代大数据系统在云环境中运行,其中资源在多个用户和应用程序之间共享。因此,这些环境中的声明性用户查询需要在不断变化的资源上进行优化和执行,并按需为每个作业提供。这就要求我们重新思考为运行在专用资源上的系统设计的传统查询优化器。在本文中,我们证明了查询计划的选择在很大程度上取决于可用的资源,目前的做法,选择查询计划之前挑选的资源可能会导致显着的性能损失,在两个流行的大数据系统,即蜂巢和SparkSQL。因此,我们提出了资源和查询优化(或RAQO)的理由,即,同时选择查询计划和资源配置。我们描述了基于规则的RAQO,并提出了替代决策树,使资源感知的查询规划在蜂巢和火花。我们进一步提出了基于成本的RAQO,在一个查询规划器集成资源规划,并显示技术,以显着减少资源规划的开销。我们评估基于成本的RAQO使用国家的最先进的R系统查询规划器,以及最近提出的多目标查询规划器。我们对TPC-H和随机生成模式的评估表明:(i)我们可以将资源规划开销减少多达16倍,(ii)RAQO可以扩展到100个表连接的模式以及100 K容器的集群,每个容器100 GB。
2019-06-15 cs.DB
Adaptive Recursive Query Optimization
本文提出自适应元编程技术,将递归查询优化移至运行时,通过动态重优化和自定义连接排序,在Carac引擎上实现未优化查询提速千倍、手工优化查询提速6倍。
2024-03-18 cs.DB cs.PL
Efficient and Provable Multi-Query Optimization
大规模数据分析作业的复杂查询已经变得越来越普遍。许多这样的查询包含常见的子表达式,或者在单个查询中,或者在作为批处理提交的多个查询中。传统的查询优化器不利用这些子表达式,并产生次优的计划。多查询优化(MQO)问题是通过一次计算公共子表达式并重用它们来生成最优的组合求值计划。MQO的穷举算法探索O(n^n)搜索空间。因此,这个问题主要是使用各种启发式算法来解决的,而没有提供任何理论保证其解决方案的质量。在本文中,而不是传统的成本最小化问题,我们把这个问题作为最大化的成本函数的线性变换。我们提出了一个贪心算法的问题,这在弱,直观的假设下,这个配方提供了一个近似因子的保证。我们继续证明这个因子是最优的,除非P = NP。关于我们的算法的另一个值得注意的点是,它可以很容易地纳入现有的基于转换的优化。最后,我们提出了优化,可用于提高我们的算法的效率。
2017-01-19 cs.DB
Reducing the Cross-Model Tax: Query Optimization over Multi-Model Data
Charles University(查理大学)
本文针对跨异构数据模型查询的高开销问题,提出感知映射与能力的优化方法并在 MM-quecat 中实现,可大幅降低查询延迟、消除内存不足故障并缩短规划时间,提升多模型查询处理的效率与鲁棒性。
2026-09-07 cs.DB
Sampling-Based Query Re-Optimization
尽管经过几十年的工作,查询优化器仍然会在“困难”查询上犯错误,因为基数估计不好,这通常是由于数据中多个谓词和相关性的相互作用。在本文中,我们提出了一个低成本的后处理步骤,可以采取一个计划产生的优化器,检测时,它可能已经犯了这样的错误,并采取措施来修复it.Specifically,我们的解决方案是一个基于采样的迭代过程,几乎不需要改变原来的查询优化器或查询评估机制的系统。我们表明,这确实带来了低开销和捕获的情况下,三个广泛使用的优化器(PostgreSQL和两个商业系统),使大的错误。
2016-01-21 cs.DB
Compliance in Databases: A Study of Structural Policies and Query Optimization
IIIT Bangalore(印度理工学院班加罗尔分校);Microsoft India(微软印度)
研究探讨结构化政策对查询优化的影响,提出政策语法框架以分析合规政策对数据库系统性能的作用。
2026-04-17 cs.DB
A Query Optimization Method Utilizing Large Language Models
本文提出LLMOpt框架,利用大型语言模型直接生成和全局选择查询计划,消除启发式搜索,并在多个基准上超越PostgreSQL、BAO等现有方法。
2025-03-10 cs.DB
JOB-Complex: A Challenging Benchmark for Traditional & Learned Query Optimization
本文提出新基准 JOB-Complex,通过引入字符串列连接和复杂过滤谓词等真实属性,挑战传统与学习型查询优化器,揭示现有成本模型在真实场景下运行时间比最优计划慢达 11 倍。
2025-07-10 cs.DB
VoS: Variate Ordering Strategies for Skyline Query Optimization
Arizona State University(亚利桑那州立大学);University of Turin(都灵大学)
本文针对天际线查询优化问题,提出VoS变量排序策略,通过优化属性排序减少冗余比较,经多类数据集与架构实验验证可降低计算开销、提升查询性能。
2026-08-28 cs.DB
Optimizing Federated Queries Based on the Physical Design of a Data Lake
查询执行计划的优化对于减少查询执行时间是至关重要的。特别是在过去的几十年中,关系数据库的查询优化已经被深入研究。最近,资源描述框架(RDF)在Web上发布数据方面变得流行起来。因此,由不同数据模型(如RDF和关系数据库)组成的联邦得到了发展。这些联盟的一种类型是语义数据湖,其中每个数据源都保存在其原始数据模型中,并使用本体或受控词汇表进行语义注释。然而,在语义数据湖上进行联邦查询处理的最先进的查询引擎通常依赖于为RDF量身定制的优化技术。在本文中,我们提出了查询优化技术的指导下,考虑到数据湖的物理设计。语义分析是在Ontario之上实现的,Ontario是语义数据湖的SPARQL查询引擎。使用特定于源的语法,查询引擎能够通过利用关于关系数据库中的索引和规范化的知识来生成更有效的查询执行计划。我们表明,将数据湖的物理设计考虑在内的算法能够加快查询处理。
2020-03-23 cs.DB
The Unreasonable Effectiveness of LLMs for Query Optimization
University of Pennsylvania(宾夕法尼亚大学)
本文发现LLM嵌入查询文本蕴含语义信息,用少量标记数据训练简单二分类器选择查询计划,即可超越启发式系统,预示LLM查询优化器在性能与简洁性上潜力巨大。
2024-11-05 cs.DB cs.LG
ReSequel: Robust LLM-assisted Query Rewriting and Optimization using Templatization and Sampling
Concordia University(康考迪亚大学);TU Berlin(柏林工业大学);BIFOLD(柏林数据与人工智能联合实验室)
提出ReSequel,一种利用LLM和元数据(目录、统计信息)通过模板化规则和采样验证来重写SQL查询的优化层,在多个DBMS上实现高达16倍的工作负载加速。
2026-07-14 cs.DB
Solving the Join Ordering Problem via Mixed Integer Linear Programming
我们将连接排序转化为一个混合整数线性规划(MILP)。这允许通过成熟的MILP求解器实现来解决查询优化,这些MILP求解器实现已经发展了几十年并稳步提高了它们的性能。它们提供了与查询优化高度相关的随时优化和并行搜索等特性。我们提出了一个MILP制定搜索左深查询计划。我们使用二进制变量集来表示连接操作数和中间结果,操作符实现选择或有趣的顺序的存在。线性约束将值分配限制为表示有效查询计划的值。我们通过线性函数近似扫描和连接操作的成本,允许将近似精度提高到任意程度。我们的实验结果是令人鼓舞的:我们能够找到最佳的计划之间的连接60个表,查询的大小,是超出了以前的详尽的查询优化方法的能力。
2015-11-06 cs.DB
Can Large Language Models Be Query Optimizer for Relational Databases?
本文提出基于PostgreSQL的LLM查询优化器LLM-QO,通过QInstruct数据配方和两阶段微调直接生成执行计划,在三个工作负载上优于传统与学习型优化器。
2025-02-08 cs.DB
Enabling Data Dependency-based Query Optimization
Hasso Plattner Institute(哈索·普拉特纳研究所);SAP(思爱普)
本文提出系统自动识别并验证数据依赖,提升查询性能,实验显示在TPC-DS和JOB基准上速度提升达35%和29%,单个查询延迟下降超90%。
2025-07-19 cs.DB
Join Query Optimization Techniques for Complex Event Processing Applications
复杂事件处理(CEP)是一种在许多现代应用中用于监视和跟踪海量数据流中感兴趣的事件的重要技术。CEP引擎检查实时信息流,并尝试检测与预定义模式匹配的事件组合。这是通过根据模式检测计划以类似于在传统数据管理系统中执行多连接查询的方式组合基本数据项(也称为原始事件)来完成的。尽管这种相似性,很少的工作已经做了利用现有的连接优化方法,以提高基于CEP的系统的性能。在本文中,我们提供了这两个研究领域之间的关系的第一个理论和实验研究。我们正式证明,CEP计划生成问题是等价的连接查询计划生成问题的一个限制类的模式,并可以减少到它的一个相当广泛的类。这一结果表明CEP计划生成问题是NP完全的。我们进一步展示了如何加入查询优化技术,在过去的几十年中开发的,可以适应和利用,以提供实际有效的解决方案,复杂的事件检测。我们的实验表明,这些技术的优越性,在吞吐量,延迟和内存消耗方面的CEP优化现有的战略。
2018-04-29 cs.DB
SIMD-ified R-tree Query Processing and Optimization
本文研究空间数据库中R树索引的SIMD向量化,提出范围选择与空间连接的向量化算法及两种存储布局,引入优化后延迟提升高达9倍。
2023-09-29 cs.DB
Bao: Learning to Steer Query Optimizers
查询优化一直是数据管理系统中最具挑战性的问题之一。最近将机器学习技术应用于查询优化挑战的努力是有希望的,但是由于大量的训练开销、无法适应变化以及尾部性能差,几乎没有显示出实际的收益。出于这些困难的动机,并借鉴了对多武装土匪的长期研究历史,我们介绍了Bao(BAndit优化器)。Bao通过提供每个查询优化提示,利用了现有查询优化器中内置的智慧。Bao将现代树卷积神经网络与Thompson采样相结合,Thompson采样是一种有几十年历史且经过充分研究的强化学习算法。因此,Bao会自动从错误中学习,并适应查询工作负载、数据和模式的变化。在实验中,我们证明了Bao可以快速(比以前的方法快一个数量级)学习策略,提高端到端查询执行性能,包括尾部延迟。在云环境中,我们表明,与复杂的商业系统相比,Bao可以提供更低的成本和更好的性能。
2020-04-08 cs.DB
LIMAO: A Framework for Lifelong Modular Learned Query Optimization
针对学习型查询优化器在动态环境中因重新训练导致灾难性遗忘的问题,提出终身模块化学习框架LIMAO,通过模块化终身学习与注意力架构持续适应新环境,在动态工作负载下显著提升查询性能并降低执行时间方差。
2025-06-30 cs.DB
Building Efficient Query Engines in a High-Level Language
无遗憾的抽象是指使用高级程序设计语言进行系统开发而不会对性能产生负面影响的愿景。根据这一愿景设计的数据库系统提供了更高的生产力和高性能,而不是像现有的难以维护和扩展的单片实现那样牺牲前者。在本文中,我们将在分析查询处理领域实现这一愿景。我们提出了LegoBase,一个查询引擎写的高级语言Scala。重新获得效率的关键技术是应用生成式编程:LegoBase执行源到源编译,并通过将高级Scala代码转换为专用的低级C代码来优化整个查询引擎。我们展示了生成式编程如何允许轻松地实现广泛的优化,例如引入数据分区或从行切换到列数据布局,这是难以实现的,与现有的低级别查询编译器,只处理查询。我们证明,足够强大的抽象是必不可少的处理复杂的优化工作,屏蔽开发人员从编译器内部和相互解耦的个人优化。我们使用TPC-H基准测试评估了我们的方法,结果表明:(a)启用所有优化后,LegoBase的性能明显优于商业数据库和现有的查询编译器。(b)程序员只需要提供几百行高级代码来实现优化,而不是现有查询编译方法所需的复杂低级代码。(c)编译开销是低的整体执行时间相比,从而使我们的方法在实践中可用于编译查询引擎。
2016-12-16 cs.DB
Metadata Challenge for Query Processing Over Heterogeneous Wireless Sensor Network
无线传感器网络成为我们生活中不可或缺的一部分。这些网络由于其灵活性和功能性,可用于监控各个域中的数据。无线传感器网络中的查询处理和优化是一个非常具有挑战性的任务,因为它们的能量和内存的限制。在本文中,首先,我们的重点是审查不同的方法,有显着影响的发展无线传感器网络的查询处理技术。最后,我们的目的是说明现有的方法在流行的查询处理引擎与未来的研究挑战,在查询优化。
2011-09-03 cs.DB
Redefining The Query Optimization Process
传统上,查询优化器被设计用于共享由CPU、主存储器和磁盘子系统组成的公共体系结构的计算机系统。查询优化器的效率及其成功应用依赖于这些架构在过去几十年中基本保持不变的事实。然而,最近串行指令执行的性能增长已经停滞。因此,计算机体系结构已经开始多样化。结合主存储器的大小已经显著增加的事实,利用计算机系统的固有内部特征(数据一致性机制、TLB和指令高速缓存性能等)而不是主要关注于最小化磁盘I/O变得更加重要。是时候重新评估(传统的)查询优化是如何实现的了。查询优化器必须能够处理计算机体系结构中的破坏性进展,并采用优化特定于体系结构的特性的方法。本文对查询优化过程进行了重新定义,使编译器优化比传统方法更早地进入游戏,并将编译器优化作为查询优化的驱动力。新一代的查询优化器将能够优化查询,使其性能明显优于当代最先进的查询优化器。
2022-03-02 cs.DB cs.PL
Learned Query Superoptimization
本文提出学习型查询超优化思想,通过探索驱动算法、迭代贝叶斯优化和程序合成自主发现最优查询计划,以更长优化时间换取对大量重复查询的大幅加速。
2023-07-11 cs.DB
Query Performance Optimization in XML Data Warehouses
XML数据仓库为利用复杂数据的决策支持应用程序提供了一个有趣的基础。然而,目前原生XML数据库管理系统(DBMS)的性能有限,有必要研究如何优化它们。在本章中,我们将介绍两种这样的技术。首先,我们提出了一个连接索引,是专门适应XML仓库的多维体系结构。它消除了连接操作,同时保留了原始仓库中包含的信息。其次,我们提出了一个策略,选择XML物化视图聚类的查询工作量。为了验证这些建议,我们测量的响应时间的一组决策支持XML数据仓库,使用和不使用我们的优化技术。我们的实验结果证明了它们的效率,即使当查询是复杂的,数据是大量的。
2017-01-27 cs.DB
Towards a Hands-Free Query Optimizer through Deep Learning
查询优化一直是数据库系统中最重要和研究最多的问题之一。然而,传统的查询优化器是复杂的计算机驱动的系统,需要大量的时间来调整特定的数据库,并且首先需要更多的时间来开发和维护。在这篇愿景论文中,我们认为一种基于深度强化学习的新型查询优化器可以大大提高最新技术水平。我们确定了未来研究的潜在复杂性,将深度学习与查询优化相结合,我们描述了三种基于深度学习的新方法,这些方法可以引导端到端基于学习的查询优化器。
2018-12-18 cs.DB
Adaptive Cost Model for Query Optimization
针对数据库负载和系统性能变化导致传统静态代价模型参数失效的问题,提出自适应代价模型ACM,在DB运行时动态优化CPU和I/O代价参数,在TPC-H基准上实现20%的端到端延迟改善。
2024-09-25 cs.DB