[发明专利]高适应性查询优化器检索空间生成方法有效
申请号: | 201180056140.5 | 申请日: | 2011-11-07 |
公开(公告)号: | CN103299299B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 阿尼什瓦拉·尼卡;伊恩·罗恩·查尔斯沃思 | 申请(专利权)人: | 移动解决方案公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/44 |
代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 邵亚丽 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 适应性 查询 优化 检索 空间 生成 方法 | ||
技术领域
本发明一般涉及数据库,且更具体地,涉及查询优化。
背景技术
计算机数据库已经成为用于数据存储和检索的普遍手段。数据库用户将一般性地使用数据库管理系统(“DBMS”)访问数据库中的底层数据。用户向DBMS发出查询请求,该DBMS遵照限定的查询语言。这通过下述方式简化了用户与数据库的互动,即,不要求用户知道或理解物理数据库的底层结构。但是,由于这个原因,DBMS执行对于底层数据库的最有效的查询方式是必要的。
参照图1,DBMS140包括编译器164,其包括查询优化器,例如查询优化器165。查询优化器165确定执行查询的最有效的方法。当客户110写下发送给DBMS140的SQL查询时,客户110不指定DBMS140应如何执行查询。因此,查询优化器165的有效设计对于生成有效的DBMS140是至关重要的。
查询优化器165分析查询请求且确定访问方案。这包括,例如:针对每个被访问的表选择访问方法,选择在表上执行联合运算的顺序,以及选择待用在每个联合运算中的联合方法。因为典型地,通过使用这些运算的组合存在多个用于给定查询的策略,查询优化器165生成和估计多个策略,通过总线处理(或“检索空间生成处理”)的方式从中选择最佳策略。在于2007年2月27日公告的共同拥有的第7,184,998号美国专利中提供了示例性优化策略的讨论,其全文通过引用并入本文。
传统地,查询优化器165使用单一优化算法来确定策略和形成用于优化查询的访问方案。甚至通过查询优化器165使用的相同算法在配备有不同系统资源的不同平台上执行。因此,若查询优化器165在优化处理期间耗尽可用的系统资源,查询优化器165将不能够形成访问方案。这导致DBMS140在没有通过“强力”方式的任何优化的情况下执行查询,或在没有执行查询的情况拒绝查询。因此,需要改进的查询优化器165,其可以使用选自多个有效查询优化算法中的查询优化算法来优化查询,其中,在一个实施例中,所选择的算法为在查询复杂度和可用系统资源方面代价最小的一个。在系统资源可用的情况下,还需要选择将形成访问方案的算法的查询优化器165来优化查询。
因此,需要允许查询优化器165基于可用的系统资源来选择查询优化算法的系统、方法和制品,其可以有效的优化由查询执行的检索。
发明内容
本发明所述的实施例涉及确定算法,其将优化由查询确定的数据库检索。在一个实施例中,查询被分成查询块。针对每一个查询块生成子方案。查询优化器对于每个子方案构建构造块,确定子方案的复杂度,以及选择查询优化算法,该算法基于子方案的构造块和复杂度生成来自检索空间生成算法池的访问方案。然后,查询优化器通过所选择的算法优化每一个子方案来优化查询。
在另一个实施例中,确定托管(host)数据库管理系统的服务器的状态,且基于服务器的状态连同上述参考标准选择针对每一个子方案的算法。
在另一个实施例中,通过分析与子方案结合的超图(hypergraph)的特性,查询优化器确定子方案的复杂度。
在另一个实施例中,查询优化器总是选择针对子系统生成访问方案的算法。
在另一个实施例中,查询优选器选择代价小的查询优化算法,从而优化子方案,且若使用任何代价大的算法的查询优化的成本高于用于优化子方案的最大分摊成本,则可避免代价大的优化技术。
下文中参照附图详细描述本发明的其它特征和优点,以及本发明的各种实施例的结构和操作。应当注意到,本发明不限于在此描述的具体实施例。在此呈现的这些实施例仅出于示例性的目的。根据本文中包含的教导,附加的实施例对于本领域技术人员而言是显而易见的。
附图说明
附图并入本文中并组成说明书的一部分,与文字一起示出本发明所述的实施例,还用于解释本发明的原理,且使得本领域的技术人员可以使用和制造本发明。
图1为示例性数据库计算环境,在其中可实施本发明所述的实施例。
图2为示出根据本发明所述的实施例的步骤的流程图,通过这些步骤,查询优化器可被操作,从而选择查询优化算法,该算法生成针对子方案优化的访问方案。
图3为示出根据本发明所述的实施例的预优化阶段I的步骤的流程图。
图4为示出根据本发明所述的实施例的预优化阶段II的步骤的流程图。
图5示出了示例性计算机系统,在其中可执行本发明所述的实施例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于移动解决方案公司,未经移动解决方案公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180056140.5/2.html,转载请声明来源钻瓜专利网。