[发明专利]评估过滤因子用于数据库中访问路径优化的方法和装置无效
| 申请号: | 201110391219.5 | 申请日: | 2011-11-30 |
| 公开(公告)号: | CN103136260A | 公开(公告)日: | 2013-06-05 |
| 发明(设计)人: | 杨新颖;曾春光;周祥;魏可伟 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 周良玉;于静 |
| 地址: | 美国*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 评估 过滤 因子 用于 数据库 访问 路径 优化 方法 装置 | ||
技术领域
本发明涉及数据库的访问路径优化,更具体而言,涉及评估过滤因子以进行数据库中访问路径优化的方法和装置。
背景技术
在数据库中进行访问和检索的过程中,为了执行查询,数据库需要创建一个访问计划(access plan)。访问计划定义按什么顺序访问表,使用哪些索引,以及用何种连接(join)方法来关联数据。好的访问计划对于SQL语句的快速执行至关重要。大多数的RDBMS(Relational Database Management System,关系数据库管理系统)利用基于成本的优化器进行访问计划的创建。基本成本的优化器根据数据库中的统计信息评估各个备选访问路径的成本,从中选择成本最低的访问路径作为最优路径。上述的成本主要包括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的数据条目是较为优选的访问路径。由此可以看到,在优化器创建访问计划的过程中,过滤因子起着非常重要的作用。
然而,在许多情况下,过滤因子并不能如上述例子那样简单而直接地获得。例如,在典型的嵌入式SQL的情况下,SQL语句嵌入在主应用程序中,并在查询语句中引用主程序中的宿主变量或参数。于是,过滤条件的精确选择和过滤因子的值直接依赖于宿主变量的值。然而,作为主程序中的变量,宿主变量的值仅仅在程序运行时才能确定。由于无法准确确定这些变量的值,优化器只能基于宿主变量值平均分布的假设估计出一个可能的过滤因子,并基于估计出的过滤因子进行访问路径的优化。可以理解,如果在主程序运行时产生的宿主变量值偏离平均分布的假设时,估计的过滤因子就不够准确,由此会得出一个效率很低的访问计划。
为了解决这一问题,在有些方案中,在主程序运行时的过程中,利用实际产生的宿主变量的值进行访问路径的再次优化。然而,在运行时期间执行再次优化所产生的开销有时候是不可接受的,或者会影响程序的执行性能。因此,在大多数情况下,仍然是在运行时之前,针对SQL语句静态地进行访问路径的创建,而不进行动态优化。
发明内容
鉴于以上提出的问题,提出本发明,旨在更好地估计数据库查询中的过滤条件的过滤因子,从而有助于访问路径的优化。
根据本发明第一方面,提供一种估计过滤因子用于数据库中访问路径优化的方法,包括:从用于数据库查询的语句段中提取关联条件,所述关联条件定义变量与第一表格之间的关系;根据所述关联条件以及第一表格的统计信息获取第一统计信息,所述第一统计信息包括,与变量在所述关联条件下的可能值有关的第一数据值信息,以及与第一数据值信息中的数据值的出现概率有关的第一概率信息;从所述语句段中提取过滤条件,所述过滤条件定义所述变量与第二表格之间的关系;根据所述过滤条件以及第二表格的统计信息获取第二统计信息,所述第二统计信息包括,与变量在所述过滤条件下的可能值有关的第二数据值信息,以及与第二数据值信息中的数据值的出现概率有关的第二概率信息;以及根据所述第一统计信息和第二统计信息,估计所述过滤条件的过滤因子,以用于优化与该过滤条件相关的数据库查询的访问路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110391219.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:恒制动摆线减速卷扬机
- 下一篇:数据一致性恢复方法





