[发明专利]优化数据库中访问路径的方法和装置有效
| 申请号: | 201110430263.2 | 申请日: | 2011-12-20 |
| 公开(公告)号: | CN103176974A | 公开(公告)日: | 2013-06-26 |
| 发明(设计)人: | P·D·博斯曼;周婧;傅毓勤;周祥;魏可伟 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 周良玉;于静 |
| 地址: | 美国*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 优化 数据库 访问 路径 方法 装置 | ||
1.一种优化数据库中访问路径的方法,包括:
对查询语句的执行情况进行采样,获取多个执行实例的信息,每一执行实例的信息包括该执行实例下查询语句中的字面值以及该字面值对应的过滤因子;
基于所述字面值对应的过滤因子将所述多个执行实例分为多个群组,获取每个群组的平均过滤因子和该群组的出现频率;
获取针对每个群组的平均过滤因子而创建的备选访问路径;
以出现频率为权重,计算每个群组在每个备选访问路径下的加权执行成本,将各个群组的加权执行成本总和最小的备选访问路径确定为优选访问路径。
2.根据权利要求1的方法,其中所述获取多个执行实例的信息包括,获取每一执行实例下查询语句中的字面值,并通过以下方式中的至少一个获取所述字面值对应的过滤因子:
参照查询语句针对的表格的统计信息,根据所述统计信息获取过滤因子;以及
针对查询语句执行count语句,根据count语句的执行结果计算过滤因子。
3.根据权利要求1的方法,其中所述基于字面值对应的过滤因子将所述多个执行实例分为多个群组,获取每个群组的平均过滤因子和该群组的出现频率包括:
基于字面值将获得的多个执行实例划分多个类,获取每个类的过滤因子和出现频率;以及
基于每个类中的过滤因子将所述多个类合并为多个群组,基于每个类的过滤因子和出现频率获取每个群组的平均过滤因子和出现频率。
4.根据权利要求3的方法,其中所述基于字面值将获得的多个执行实例划分多个类,获取每个类的过滤因子和出现频率包括:
将字面值相同的执行实例归为一个类,将该相同字面值对应的过滤因子作为该类的过滤因子,并获取该字面值的使用频率作为该类的出现频率。
5.根据权利要求3的方法,其中基于每个类中的过滤因子将所述多个类合并为多个群组包括以下之一:
将过滤因子之间的距离在预定阈值之内的类合并为一个群组;以及
将过滤因子的值划分为多个区间,将过滤因子属于同一区间的类合并为一个群组。
6.根据权利要求3的方法,其中所述基于每个类的过滤因子和出现频率获取每个群组的平均过滤因子和出现频率包括:
计算各个类的出现频率的和作为群组的出现频率;
通过以下方式之一计算群组的平均过滤因子:
计算各个类的过滤因子的算术平均作为群组的平均过滤因子;
以群组中各个类的相对出现频率为权重,计算各个类的过滤因子的加权平均作为群组的平均过滤因子。
7.根据权利要求1的方法,其中所述基于所述字面值对应的过滤因子将所述多个执行实例分为多个群组,获取每个群组的平均过滤因子和该群组的出现频率包括:
在扫描所述每一执行实例时,基于字面值对应的过滤因子直接判断该执行实例的分组;
在将所述执行实例放入对应群组时,对每个群组中执行实例的数目进行计数,并对过滤因子进行累加;
基于每个群组中执行实例的计数获取该群组的出现频率,基于过滤因子的累加获取该群组的平均过滤因子。
8.根据权利要求1的方法,其中所述计算每个群组在每个备选访问路径下的加权执行成本包括:
获取每个群组在每个备选访问路径下的执行成本;以及
以对应群组的出现频率为权重因子乘以所述执行成本,由此获得每个群组在每个备选访问路径下的加权执行成本。
9.根据权利要求1的方法,还包括:获取多条备选访问路径的组合的总执行成本,将该总执行成本与所述优选访问路径的总执行成本进行比较,以确定最优的访问路径。
10.根据权利要求1的方法,其中所述查询语句包含多个过滤条件,所述字面值包含字面值集合,所述过滤因子包含过滤因子集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110430263.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于互联网信息的事件预警方法
- 下一篇:一种业务处理方法及其系统





