arXivDaily arXiv每日学术速递 周一至周五更新
arXiv cs/0611094cs.DB
收藏

降低复杂查询计划中的订单执行成本

Reducing Order Enforcement Cost in Complex Query Plans

Ravindra Guravannavar, S Sudarshan, Ajit A Diwan, Ch. Sobhan Babu

摘要:

利用排序顺序的算法被广泛用于实现连接、分组、重复消除和其他集合操作。查询优化器传统上通过使用感兴趣的顺序的概念来处理排序顺序。不幸的是,有趣的订单数量是参与属性数量的阶乘。优化器实现使用排序来修剪感兴趣的订单的数量,但排序的质量尚不清楚。越来越复杂的决策支持查询和越来越多的使用覆盖索引,它提供了多个替代排序顺序的关系,激励我们更好地解决问题的优化与有趣的订单。我们表明,即使是一个简化版本的优化排序顺序是NP难的,并提供原则性的选择有趣的订单。我们已经实现了火山风格的基于成本的优化器中提出的技术,我们的性能研究表明,估计成本显着改善。我们还在一个广泛使用的商业数据库系统和PostgreSQL上执行了我们的计划,并发现在几种情况下,我们的计划的实际执行时间明显优于这些系统生成的计划。

英文摘要:

Algorithms that exploit sort orders are widely used to implement joins, grouping, duplicate elimination and other set operations. Query optimizers traditionally deal with sort orders by using the notion of interesting orders. The number of interesting orders is unfortunately factorial in the number of participating attributes. Optimizer implementations use heuristics to prune the number of interesting orders, but the quality of the heuristics is unclear. Increasingly complex decision support queries and increasing use of covering indices, which provide multiple alternative sort orders for relations, motivate us to better address the problem of optimization with interesting orders. We show that even a simplified version of optimization with sort orders is NP-hard and provide principled heuristics for choosing interesting orders. We have implemented the proposed techniques in a Volcano-style cost-based optimizer, and our performance study shows significant improvements in estimated cost. We also executed our plans on a widely used commercial database system, and on PostgreSQL, and found that actual execution times for our plans were significantly better than for plans generated by those systems in several cases.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑