摘要
连接序问题是数据库查询优化中最重要且最具挑战性的问题.传统的动态规划算法通常具有指数级复杂度.基于图形分割的相关理论,提出均衡割分区算法(BCP),通过均衡割将查询图分割成大小相对均衡的分区,避免一次性处理所有连接的关系.BCP算法分区不会产生叉积,并且可以轻易地集成进任何查询优化器中.在Postgre SQL上实现了该算法,并和Postgre SQL现有的分区算法——迭代动态规划算法(IDP)进行对比.实验结果表明:对25个关系以内的随机连接查询,BCP不仅在平均效率上优于IDP算法,而且对分区大小变化也有更好的适应性.
Join ordering is the most challenging problems in database query optimization. Ordinary dynamic programming algorithms have exponential computational complexity. In this paper,we propose a balanced- cut partition( BCP) algorithm based on the graph cut theory,which avoids considering all tables together by cutting the query graph into several balanced partitions. BCP does not generate cross products and can be integrated into any existing query optimizer. It is then realized on Postgre SQL and co MPared with Iterative Dynamic Programming( IDP) algorithms implemented on Postgre SQL. The experiments of random query show that this algorithm has not only better performance but also more flexibility when partition size changes.
出处
《昆明理工大学学报(自然科学版)》
CAS
2016年第1期52-56,共5页
Journal of Kunming University of Science and Technology(Natural Science)
基金
国家自然科学基金项目(61562054
81360230
51467007
61462050)
云南省人才培养项目(KKSY201303095)
云南省教育厅重点项目(2012Z008)
关键词
查询优化
连接序
均衡割
分区动态规划
叉积
query optimization
join ordering
balanced cut
partition dynamic programming
cross product