[发明专利]一种数据库查询中最优执行计划的搜索方法无效
| 申请号: | 201110060504.9 | 申请日: | 2011-03-14 |
| 公开(公告)号: | CN102081678A | 公开(公告)日: | 2011-06-01 |
| 发明(设计)人: | 王非;黄本雄;余国锐;邓磊 | 申请(专利权)人: | 华中科技大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京市德权律师事务所 11302 | 代理人: | 周发军 |
| 地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据库 查询 最优 执行 计划 搜索 方法 | ||
技术领域
本发明涉及本发明涉及到数据库领域,尤其涉及到数据库在sql语句查询过程中执行计划在并发执行环境下最优执行方案的搜索方法。
背景技术
数据库在查询优化过程中,对于一个给定的sql语句,尤其是复杂的sql语句,通常有许多种可能的策略。一般而言,如果一个查询语句中含有n个关系,有(2(n-1))!/(n-1)!个不同的连接顺序,当n=7时,此数为665280,当n=10时,此数为176亿。查询优化就是能从许多的策略中找出代价较小的执行计划的一个处理过程,但是当sql语句中涉及到的关系数较大(n>6)时,优化引擎如果一一遍历所有的执行计划,将消耗大量的优化时间,最终导致语句查询效率低下。另外,随着多核服务器的大量出现,为提高语句的执行效率,并发对语句进行执行成为今后语句执行的趋势,以前查询优化引擎在挑选最优执行计划时,没有兼顾到语句并发执行的前提,其所提交的最优执行计划无法充分利用多核的优势。
发明内容
本发明所要解决的技术问题是提供一种为查询语句从大量的执行计划中快速找出适合于并发执行的执行计划。
为解决上述技术问题,本发明所述方法包括在执行计划的搜索过程中不予考虑含有笛卡尔积连接操作的执行计划(除非用户提交的查询语句中含有笛卡尔积连接操作),同时将语句中的关系表的连接关系以一个图的形式表示,最后在图中搜索最优执行计划;所述以图的形式表示语句的连接关系如下:图中的点表示查询语句中的关系,如果图中某两个点所对应的关系有连接操作(包括内连接和外连接),则连接这两点,边的权值为两关系连接操作的执行代价;
所述在图中搜索最优执行计划的方案包含如下一些步骤:
步骤一:从图中任一点出发,在图中找出一条以该点为起始点的连接通路,该连接通路对应原查询语句的一个执行计划,同时使得该执行计划为从该点出发所对应的代价最小的执行计划;
步骤二:依次从图中其它各点出发,同样得出以这些点为起始点的连接通路,使得该连接通路所对应的执行计划的代价最小;
步骤三:比较前两步得出的所有连接通路所对应的执行计划的代价,得出代价最小的连接通路;
步骤四:得出代价最小的连接通路后,采用本发明自定义的动态分配方案将该通路中各个操作分配到各线程执行。
上述方案中,所述步骤一从图中某一点为起始点搜索代价最小的连接通路包括以下一些步骤:
a、计算图中与该点相关的所有边的权值;
b、设定连接通路的第一条边;
c、用新的点替换第一条边,重新计算与该点相关的边的权值;
d、设定连接通路的第二条边;
e、依次下去直到遍历完图中所有的点。
优选的,所述计算边的权值即计算边所对应的连接操作的执行时间,具体方案如下:
若通过关系表的索引信息访问该关系表中一条记录的平均时间为通过嵌套循环访问关系表中一条记录的平均时间为对关系表建立临时索引时每个元组消耗的平均时间为对于某一连接操作关系R1和R2的元组个数分别为N1,N2;
如果R1上建有相应的索引且R2上没有建立索引,则该操作的时间开销为
如果R2上建有相应索引且R1上没有建立相关索引,则该操作的时间开销为
如果R1和R2上均建有相关索引,则该操作的时间开销为
如果R1和R2上都没有相关索引,在对R1和R2都没有进行预处理的情况下执行时间为现在通过建立临时索引的方式执行上述操作,若对R1建立临时索引,则执行时间为若对R2建立临时索引,则执行时间为故在关系表R1和R2都没有索引的情况下的执行时间代价为
更为优选的,所述步骤四将通路中各个操作动态分配到线程中并发执行的步骤如下:
假设最优执行计划所对应的连接通路中有n个操作,有m个线程并行执行;
a)将连接通路中前m个操作分别在m个线程中执行,并记录m个线程中执行时间最短的线程;
b)将连接通路中下一个操作直接投放到执行时间最短的线程,并重新更新线程池中执行时间最短的线程;
c)如果连接通路中还有操作未执行则执行步骤二。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110060504.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:合成氯丁二烯流程中吸收剂回收装置
- 下一篇:按压式U盘笔





