[发明专利]优化数据库中访问路径的方法和装置有效

专利信息
申请号: 201110430263.2 申请日: 2011-12-20
公开(公告)号: CN103176974A 公开(公告)日: 2013-06-26
发明(设计)人: P·D·博斯曼;周婧;傅毓勤;周祥;魏可伟 申请(专利权)人: 国际商业机器公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京市中咨律师事务所 11247 代理人: 周良玉;于静
地址: 美国*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 优化 数据库 访问 路径 方法 装置
【说明书】:

技术领域

发明涉及数据库的访问,更具体而言,涉及优化数据库中访问路径的方法和装置。

背景技术

在数据库中进行访问和检索的过程中,为了执行查询,数据库需要创建一个访问计划(access plan)。访问计划定义按什么顺序访问表,使用哪些索引,以及用何种连接(join)方法来关联数据。好的访问计划对于SQL语句的快速执行至关重要。大多数的RDBMS(关系数据库管理系统)利用基于成本的优化器进行访问计划的创建。基于成本的优化器根据数据库中的统计信息评估各个备选访问路径的成本,从中选择成本最低的访问路径作为最优路径。上述的成本主要包括CPU执行成本,IO成本等。

在计算各个备选访问路径的成本时,优化器主要根据表和索引的相关统计信息以及查询语句的过滤因子来进行评估。过滤因子表示,利用查询语句中指定的条件进行“过滤”,能够从数据库的指定范围中选择出的数据条目相比于该指定范围中的总数据条目的比例。过滤因子对于优化器创建有效的访问计划非常重要。

在一个非常简单的例子里,假定数据库中存储了一份某电脑配件的销售信息统计表T,该统计表共有100行,其中95行涉及型号A,另外5行涉及型号B,在该表的第2列记载了上述型号信息。如果用查询语句SELECT*FROM T WHERE COLUMN_2=‘A’进行查询,也就是用型号=A作为谓词进行过滤,将会返回95条数据条目,过滤因子为95%。对于这样的过滤条件和过滤因子,数据库管理系统的优化器经过简单的计算就可以得出,直接扫描并判断统计表T的每一行,从中读取第二栏为A的数据条目是一种较为经济的访问路径。在另一种情况下,如果用型号=B作为谓词进行过滤,将会返回5条数据条目,过滤因子为5%。此时,优化器经过计算会得出,首先读取统计表的索引,根据索引中记录的指针直接访问第二栏为B的数据条目是较为优选的访问路径。由此可以看到,在优化器创建访问计划的过程中,过滤因子起着非常重要的作用。过滤因子的不同通常使得优化器创建不同的访问路径。并且,过滤因子的大小紧密依赖于表格中数据的分布和查询语句中指定的过滤条件的字面值(literal value),也就是以上例子中的’A’或’B’。

然而,在许多情况下,过滤因子并不能如上述例子那样简单而直接地获得。例如,在典型的嵌入式SQL的情况下,SQL语句嵌入在主应用程序中,并在查询语句中引用主程序中的变量或参数,例如SELECT*FROM TWHERE COLUMN_2=var1,其中var1是一个变量。于是,过滤条件中的字面值和过滤因子的大小直接依赖于变量的值。然而,变量的值通常在程序运行时才能确定。并且,在一些情况下,应用程序多次重复执行同一查询语句,但是每次执行该查询语句时,运行时产生的变量的值可能是不同的。由于无法在该查询语句的执行之前准确确定过滤条件中的字面值,因此提出了多种方法来估计过滤因子,从而优化访问路径。

在一种访问路径优化方案中,优化器基于变量值平均分布的假设估计出一个可能的过滤因子,并基于估计出的过滤因子创建一个经济的访问路径。在确定了查询语句的访问路径之后,每次执行该查询语句时,就按照预先创建的访问路径来访问数据库。仍然参照上述电脑配件的销售信息统计表T的例子,对于查询语句SELECT*FROM T WHERE COLUMN_2=var1,由于第二列中有两种可能值A和B,因此优化器会平均地认为,该查询语句的过滤因子为50%,并基于该过滤因子创建一个固定的访问路径。可以看出,在该优化方案中,访问路径是预先确定的,因此具有稳定、可预测的优点。然而,在表格中数据的分布偏离优化器所假设的平均分布的情况下,该方案估计的过滤因子就不够准确,由此会得出一个效率很低的访问计划。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110430263.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top