[发明专利]XPath查询优化方法及系统有效
申请号: | 201210411505.8 | 申请日: | 2012-10-24 |
公开(公告)号: | CN102929996A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 李东;梁晓翀 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 蔡茂略 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | xpath 查询 优化 方法 系统 | ||
技术领域
本发明涉及数据库的技术领域,特别涉及一种XPath查询优化方法及系统。
背景技术
近年来,越来越多的数据采用XML进行描述并在网络上传输和交换,XML数据量的急速膨胀给计算机科学领域带来了新的问题:如何有效地存储和快速地检索XML数据。以数据库方式对互联网上的海量XML数据进行存储和查询,是目前关于XML数据处理问题的一种主流思想。对于所有的数据库系统来说,查询处理都是其必不可少、最重要的功能之一。而作为查询处理的重要组成部分,查询优化技术往往是影响查询效率的关键因素。由于XML数据模型的复杂性和其规模越来越大,及其XML查询本身的复杂性,使得XML查询的性能往往并不理想。人们在传统的关系数据库中已经运用得相当成熟的查询优化技术,在面对XML数据的时候却遇到了不少困难,主要表现为这些针对关系数据的查询优化技术无法处理层次结构的XML数据,XML数据库的查询优化技术是目前该领域的一个研究热点。
XML数据库查询优化的物理优化部分,是通过对上一阶段生成的查询计划进行执行次序的优化。一个查询计划由不同的执行片段组成,这些片段执行顺序的不同会导致执行时间的差异。物理优化就是要通过一些方法来估算各种执行次序的执行时间,选择一个代价可能最小的执行次序来重构查询计划。
基于代价估算的XPath查询优化方法,需要对XML数据的分布情况进行数据收集并统计,在查询优化时利用对XML数据的各种统计信息来计算不同查询计划的执行代价,因此除了代价估算模型之外,这种估算方法的准确度在很大程度上依赖于统计信息的精确性。
在关系模型中,进行代价估算是基于独立性假设和均匀分布假设这两个通用的前提。而XML数据的不规则性是对传统统计信息方法的重要挑战,其数据分布情况使得一些传统的分布假设难以成立,结构的复杂性又为获得相对精确的统计信息带来存储和计算上的困难,XML数据的有序性还制约了转换规则的灵活性。所有这些问题,都使得在xml中采用传统的代价估计方法不切实际,会带来很大的误差。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种有效的XPath查询语句的结构连接顺序优化方法。通过对各个子路径的选择度进行快速估算,然后根据估算结果对原查询计划树进行重构,得到优化的查询计划。
本发明的另一目的在于,提供一种XPath查询优化系统。
为了达到上述第一目的,本发明采用以下技术方案:
一种XPath查询优化方法,包括下述步骤:
S101、初始化代价估算矩阵;
S102、处理单步路径;
S103、判断是否存在未估算路径,如果是,则进入步骤S104;如果否,则进入步骤S115;
S104、判断路径类型,若判断得到当前路径为长路径,则进入步骤105,若是谓词路径,则进入步骤110;
S105、判断是否存在下一种可能的连接;对于长度大于1的长路径来说,任意的路径Stepi/…/Stepj,都能将其看成由两个子路径Stepi/…/Stepk和Stepk+1/…/Stepj连接而成,其中i<=k<j,因此该路径共有j-i种连接,k初始为i,每循环一次加1,至j-1结束,若i<=k<j时下一步进入步骤S106,估算该路径在当前连接下消耗的代价;当k=j时表示已遍历完该路径所有可能的连接情况,进入步骤S109估算该路径的结果集和结果集规模;
S106、利用文档统计信息估算长路径代价;
S107、判断是否最优连接;即判断上一步骤计算所得的长路径执行代价是否小于已记录于代价估算矩阵中的最小执行代价cost,若为真则进入步骤108,记录当前连接的信息,否则无需记录任何信息,返回步骤S105;
S108、用最优连接和代价更新代价估算矩阵;进入步骤S108则表示当前路径在k处的分割为代价最小的连接方式,因此在代价估算矩阵中更新最小执行代价cost和最优连接分割点splitIndex,其中splitIndex=k;
S109、利用文档统计信息估算结果集,更新结果集矩阵;
S110、判断是否存在下一种可能的排列;
S111、利用文档统计信息估算谓词路径代价;
S112、判断是否最优排列;判断步骤S111计算所得的谓词路径执行代价是否小于已记录于代价估算矩阵中的最小执行代价cost,若为真则进入步骤S113,记录当前谓词排列顺序的信息,否则无需记录任何信息,返回步骤S110;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210411505.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种柔软耐磨吸湿面料
- 下一篇:适于风噪声抑制的助听器