我们对经典数据库查询优化问题进行了推广:多目标参数查询(MPQ)优化。MPQ根据多个执行成本指标比较可选处理计划。它还将计划成本所依赖的缺失信息作为参数进行建模。这两个特性对于在现代数据处理平台上建模查询处理至关重要。
MPQ推广了之前提出的查询优化变体,如多目标查询优化、参数查询优化和传统查询优化。然而,我们表明,MPQ问题与之前的变体有不同的性质,解决它需要新的方法。我们提出了一个解决MPQ问题的算法,并为给定的查询找到所有相关查询计划的集合。这个集合包含所有实现了参数值组合的最佳执行成本权衡的计划。该算法基于动态规划,通过组合查询部分的相关计划递归地构造相关的查询计划。我们假设所有计划执行成本函数的参数都是分段线性的。我们使用线性规划来比较备选方案并确定不相关的方案。我们提出了我们的算法的复杂性分析和实验评估其性能。
1.1.上下文
数据库查询优化的目标是将查询(描述要生成的数据)映射到最优查询计划(描述如何生成数据)。查询优化是数据库领域一个长期存在的研究领域,可以追溯到20世纪70年代。14最初的查询优化问题模型是由当时数据处理系统的能力所驱动的。然而,与此同时,数据处理技术和系统也有了根本性的进步。因此,原始的问题模型无法充分表达现代数据处理系统的所有相关方面。本文对经典查询优化问题模型进行了扩展,并提出了相应的优化算法。
根据查询优化中的执行成本(例如,执行时间)比较可选查询计划。查询优化变量可以根据它们对单个查询计划的执行成本建模的方式进行分类。传统的查询优化14将查询计划的成本建模为标量成本值c∈ℝ。这意味着查询计划是根据单一的成本度量进行比较的。它还意味着查询优化器可以获得生成成本估算所需的所有信息。经典查询优化的目标是找到执行成本最小的查询计划。
没有发现记录