XPath查询优化方法及系统的制作方法

文档序号:6379664阅读:195来源:国知局
专利名称: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、判断是否存在下一种可能的连接;对于长度大于I的长路径来说,任意的路径Stepi/…/Stepj,都能将其看成由两个子路径Stepi/…/Stepk和Stepk+Ι/…/Stepj连接而成,其中i〈=k〈j,因此该路径共有j-i种连接,k初始为i,每循环一次加1,至j-Ι结束,若i〈=k〈j时下一步进入步骤S106,估算该路径在当前连接下消耗的代价;当k=j时表示已遍历完该路径所有可能的连接情况,进入步骤S109估算该路径的结果集和结果集规模;S106、利用文档统计信息估算长路径代价;S107、判断是否最优连接;即判断上一步骤计算所得的长路径执行代价是否小于 已记录于代价估算矩阵中的最小执行代价cost,若为真则进入步骤108,记录当前连接的
息,否则无需记录任何息,返回步骤S105 ;S108、用最优连接和代价更新代价估算矩阵;进入步骤S108则表示当前路径在k处的分割为代价最小的连接方式,因此在代价估算矩阵中更新最小执行代价cost和最优连接分割点 splitlndex,其中 splitlndex=k ;S109、利用文档统计信息估算结果集,更新结果集矩阵;SI 10、判断是否存在下一种可能的排列;S111、利用文档统计信息估算谓词路径代价;S112、判断是否最优排列;判断步骤Slll计算所得的谓词路径执行代价是否小于已记录于代价估算矩阵中的最小执行代价cost,若为真则进入步骤S113,记录当前谓词排列顺序的信息,否则无需记录任何信息,返回步骤SllO ;S113、更新代价矩阵和结果集矩阵,记录最优排列;进入步骤S108则表示当前谓词排列顺序为目前代价最小的排列方式,因此在代价估算矩阵中更新最小执行代价cost,并记录下当前的谓词排列顺序,以便后面的步骤按此顺序重新排列谓词;S114 :按步骤S113记录的谓词排列顺序来重新排列谓词;S115:重构查询计划。优选的,步骤SlOl中,初始化的具体步骤为使用查询代价矩阵作为运行时的数据结构,在其中保存代价指标、连接位置和中间结果集的信息;查询代价矩阵中的每一个单元格s[i, j], l<=i< = j〈=N,分别记录了其对应的一个部分路径SP=Stepi/···/Stepj的相关信息,用一个四元组〈cost, splitlndex, hidList, rsCount〉来表示,其中cost表示为完成该部分路径的查询处理,所消耗的总代价;rsCount表示该部分路径的选择度,即对该部分路径执行查询处理后的中间结果集规模splitlndex记录该部分路径的最佳分割位置,即在该点将路径表达式分成两部分分别查询后再对两部分的结果集进行连接操作能获得最快的处理速度;hidList是完成当前子路径的查询处理后得到的结果集,即层次编码五元组列表。优选的,步骤S102中,处理单步路径具体为对于单步路径,不需要进行操作可直接获得目标结点集,所以将单步路径的代价COSt为零;单步路径无需也无法进行连接顺序的选择,所以分割位置splitlndex设为其自身;hidList即为该标签名对应的层次编码五元组列表,rsCount即为标签对应的节点个数,通过对hidList中的nodeCount字段求和得到。优选的,步骤S105中,判断路径类型的步骤是定义谓词路径为只包含谓词过滤操作符,不包含其它类型操作符的路径表达式,遍历当前处理路径的操作符集合,如果存在除谓词操作符以外的其它类型的操作符,则当前处理路径为长路径,如果不存在,当前处理路径为谓词路径。优选的,步骤S106中,估算长路径代价的方法为长路径St印i/…/Skpj的执行代价估算公式表示为左子路径的执行代价S[i,k]. cost、上右子路径的执行代价s[k+l, j]. cost、与左右子路径的连接代价 joinCost (LongPath(i, k), LongPath(k+1, j))之和,其计算公式如下所示s [i, j]. cost=s [i, k]. cost+s [k+1, j]. cost+joinCost (LongPath (i, k), LongPath(k+1, j))。
优选的,步骤S109中,在得出路径Stepi/…/Stepj的查询代价估计值后,需要计算该路径的选择度,以供后续的计算过程使用,为了估算路径Stepi/…/Stepj的选择度,代价估算矩阵中保存了与其关联的层次编码五元组的列表List〈HidTUple>,通过嵌套循环方法对 s[i, splitlndex]. hidList 和 s[splitlndex+l, j]. hidList 中的层次编码使用公式Hid (Descendant) & (2length(Hld(Ancestor)) - I) =Hid (Ancestor)和公式 length (Hid (Child)) =Iength (Hid(Parent))+UpLimit (l°g2 (chiIdNameNum(Parent) +1))进行结构关系测试后,得到当前路径的结果集 s[i, j]. hidList 和 s[i, j]. rsCount。优选的,步骤SllO 中,对谓词路径 Step[Filterl] [Filter2] ··· [FilterN]来说,其可能的谓词排列顺序共有N !种,当尚有未处理过的谓词排列顺序时,会从此步骤进入步骤Slll ;若已遍历完所有可能的谓词排列顺序,则下一步进入步骤114;步骤Slll中,由于谓词路径的连接操作顺序是固定的,因此其执行代价可以使用下述公式递归计算得到,其公式为PredicatePath (I, N). coSt=PredicatePath (I, N-1). cost+joinCost (PredicatePath(I, N-1), N)。优选的,所述文档统计信息包括用层次编码对XML文档的结构概要信息进行统计,用值-编码直方图对XML文档的数值型值概要信息进行统计,用RPST对XML文档的字符串型概要统计信息进行统计,以及利用以上XML文档统计信息对XPath路径表达式进行查询优化的优化算法;所述层次编码是一种宽度优先的编码形式,其表现为二进制串,其中父节点层次编码相同且标签名相同的XML文档节点在层次编码中对应同一个层次编码;所述值-编码直方图用于统计数值型节点的值分布情况,对传统直方图进行了改进,在其中增加文档结构信息,即层次编码,用以区分不同路径上的同名节点;所述RPST在PST的基础上做了两样修改,一是对剪枝添加限制条件;二是在部分被剪枝节点的父节点中保留其少量信息;RPST的字符串谓词选择率估算算法在PST的MO算法上做了两样修改一是在RPST中查找字符串的最长前缀为空时,字符串谓词选择率为
O;二是结合RPST改变获取最长重叠前缀的方法,得到更长的最长重叠前缀及其选择率。为了达到上述第二目的,本发明采用以下技术方案
一种XPath查询优化的系统,包括查询解析模块、查询优化模块、查询执行模块和文档加载模块;所述查询解析模块,用于对输入的XPath查询语句进行编译解析,得到查询语句的内存表现形式,即查询计划树,构成查询计划树的节点中封装了有关操作类型和操作数
等信息;所述查询优化模块,用于对查询计息模块输入的原始查询计划树进行优化,然后将优化后的查询计划树输出到查询执行模块;所述查询执行模块,用于接收查询优化模块输入的优化后的查询计划树,执行查询计划;从查询计划树的根节点开始递归向下进行遍历,遍历过程中从文档加载模块中取出相应信息,根据查询计划树中操作符节点的类型来执行相应结构连接操作和谓词过滤操作,并将得到的最终查询结果根据查询语句的要求进行重构,将其返回给用户;
所述文档加载模块,用于将XML文档加载到内存并解析为文档树,为其它模块访问XML文档提供支持。优选的,所述查询优化模块,由统计信息管理器和查询语句优化器组成;其中统计信息管理器用于统计XML文档的结构信息和值信息,将其组织成一定的结构,用于支持查询路径的结果集估算;查询语句优化器实现了上述基于代价估算的XPath查询优化算法,用于对XPath路径表达式在执行中其连接操作的各种可能的执行顺序的代价进行估算,得到最优的执行连接顺序,重构查询计划。本发明相对于现有技术具有如下的优点及效果I、本发明针对上述问题,提出一种XML文档概要信息的统计方法,利用该统计信息能对XPath路径表达式的结果集及其规模进行快速估算;本文针对XML查询处理过程中常见的XPath路径表达式处理,提出了一种有效的XPath查询语句的结构连接顺序优化方法和系统,通过对各个子路径的选择度进行快速估算,然后根据估算结果对原查询计划树进行重构,得到优化的查询计划。2、XPath查询优化方法及系统能有效地对XPath查询语句进行优化,大大提高了XPath查询语句的执行效率。


图I是本发明XPath查询优化方法的流程图;图2是本发明XPath查询优化系统结构示意图。
具体实施例方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。实施例首先介绍在本发明实施例的XPath查询优化方法中要用到的文档统计信息。文档统计信息用于在查询优化的过程中,对路径表达式的结果集和谓词路径的选择率进行估算,估算出来的结果将用于连接操作的代价估算,从而为查询优化方法选择最优查询计划提供依据。文档统计信息分为结构统计信息和值统计信息两类,下面先介绍结构统计信息。
用在本发明实施例的XPath查询优化方法中的文档结构统计信息是层次编码。层次编码是一种宽度优先的编码形式,其表现为一个二进制串,定义如下I J^XML文档的根节点,定义其层次编码为0,即Hid(root)=0。2、对于文档根节点的子节点,即文档树中除根节点外的第一层节点,考虑节点的标签,若根据文档序,节点N的标签是第i个出现的标签,则定义该节点的层次编码二进制串从最低位起第i位设为I,其余位为O。3、对于除I和2外的其余节点N,其层次编码二进制串由两部分SI和S2组成Hid(N) =S2S1,其中SI为其父节点的层次编码,S2是这样一个二进制串在所有与N处于同一层且具有相同父节点层次编码的节点中,若N的标签是第i个(i ^ I)出现的标签,则S2为整数i的二进制表示。
通常仅对XML文档中的元素节点和属性节点计算层次编码,父节点层次编码相同且标签名相同的XML文档节点在层次编码中对应同一个层次编码。为了能够使用层次编码来判断两个节点之间的关系,以及估算路径表达式的结果集,本发明实施例将层次编码信息扩展为五元组〈Hid, nodeCount, chiIdNameNum, textType,isElement〉。其中Hid表示节点的层次编码;nodeCount表示层次编码为Hid的XML文档节点个数;childNameNum表示该层次编码的子元素所拥有的不同标签的数目;textType表示节点类型可以进一步划分为3种子类型,分别是数值类型节点、字符串类型节点和文本类型节点;isElement用来区分节点是元素节点还是属性节点。利用层次编码可以快速地判断任意两个XML节点之间的祖先后代关系或者父子关系。给定两个节点Ancestor和Descendant以及它们对应的五元组〈Hid, nodeCount, chiIdNameNum, textType, isElement〉。可以通过公式(I)来判断节点 Ancestor 和 Descendant之间的祖先后代关系。Hid (Descendant) & (2length(Hid(Ancestor))-l) =Hid (Ancestor) (I)仅利用两个节点的层次编码值只能判断两个节点的祖先后代关系,对于父子关系的判断,需要用到上述五元组中的childNameNum字段来进行判断。如果孩子节点Child的层次编码长度满足公式(2),则节点Child是节点Parent的孩子节点,公式(2)如下所示,
length (Hid (Chi Id) ) = Iength (Hid (Parent) ) + UpLimit ( log2(childNameNum(Parent)+1))UpLimit表示向上取整,公式(2)可以检验满足祖先后代关系的节点是否进一步满足父子关系。通过公式(I)和公式(2)可以判断节点间是否满足祖先后代关系或者父子关系,从而得到XPath路径表达式A/B、A//B或A [B]的结果集。在XPath查询中,值比较谓词如A[B>Constant]也是常见的路径表达式,需要用值统计信息来对其谓词选择率进行估算。其中数值型的值统计信息用来估算数值型的值比较谓词的选择率大小,字符串型的值统计信息用来估算字符串型的值比较谓词的选择率大小。直方图是统计数值分布情况常用的方法,为了能使谓词路径的选择率估算结果更加准确,在本发明实施例的XPath查询优化方法中,对传统直方图进行了改进,在其中增加文档结构信息,即层次编码,用以区分不同路径上的同名节点,从而使统计信息更加精确。改进后的直方图称为值-编码直方图,用来统计数值型节点的值分布情况。建立值-编码直方图之前,在扫描整个XML文档建立结构统计信息的同时,记录下数值型节点构建直方图所需的信息,包括每个数值型节点的层次编码值、该节点的值域,以及该节点不同的取值及其对应的出现次数。在本发明实施例中,使用公式(3 )和公式(4 )对数值型统计数据进行归一化,并将其插入到直方图中,也可以使用其他方式来进行归一化。bucketSize=(maxValueminValue)/(bucketCount-1) (3)bucketNum=(int)LowLimit((V-minValue)/bucketSize) (4)在公式(3)中,maxValue表示某数值型节点的最大取值,minValue表示该节点的最小取值,bucketCount表示直方图的桶的个数,bucketSize表示一个桶的值域。在公式
(4)中,LowLimit表示向下取整。当要将某数值型节点取值V出现的次数C插入到直方图时,应当插入的桶编号bucketNum就可以通过公式(4)计算得到。值-编码直方图的一个示例如表I所示。 表I值-编码直方图不例
权利要求
1.一种XPath查询优化方法,其特征在于,包括下述步骤 5101、初始化代价估算矩阵; 5102、处理单步路径; 5103、判断是否存在未估算路径,如果是,则进入步骤S104;如果否,则进入步骤S115 ; 5104、判断路径类型,若判断得到当前路径为长路径,则进入步骤105,若是谓词路径,则进入步骤110 ; 5105、判断是否存在下一种可能的连接;对于长度大于I的长路径来说,任意的路径Stepi/…/Stepj,都能将其看成由两个子路径Stepi/…/Stepk和Stepk+Ι/…/Stepj连接而成,其中i〈=k〈j,因此该路径共有j-i种连接,k初始为i,每循环一次加1,至j-Ι结束,若i〈=k〈j时下一步进入步骤S106,估算该路径在当前连接下消耗的代价;当k=j时表示已遍历完该路径所有可能的连接情况,进入步骤S109估算该路径的结果集和结果集规模; 5106、利用文档统计信息估算长路径代价; 5107、判断是否最优连接;即判断上一步骤计算所得的长路径执行代价是否小于已记录于代价估算矩阵中的最小执行代价cost,若为真则进入步骤108,记录当前连接的信息,否则无需记录任何信息,返回步骤S105 ; 5108、用最优连接和代价更新代价估算矩阵;进入步骤S108则表示当前路径在k处的分割为代价最小的连接方式,因此在代价估算矩阵中更新最小执行代价cost和最优连接分割点 splitlndex,其中 splitlndex=k ; 5109、利用文档统计信息估算结果集,更新结果集矩阵; SI 10、判断是否存在下一种可能的排列; 5111、利用文档统计信息估算谓词路径代价; 5112、判断是否最优排列;判断步骤Slll计算所得的谓词路径执行代价是否小于已记录于代价估算矩阵中的最小执行代价cost,若为真则进入步骤SI 13,记录当前谓词排列顺序的 目息,否则无需记录任何 目息,返回步骤SllO ; 5113、更新代价矩阵和结果集矩阵,记录最优排列;进入步骤S108则表示当前谓词排列顺序为目前代价最小的排列方式,因此在代价估算矩阵中更新最小执行代价cost,并记录下当前的谓词排列顺序,以便后面的步骤按此顺序重新排列谓词; S114 :按步骤S113记录的谓词排列顺序来重新排列谓词; SI 15 :重构查询计划。
2.根据权利要求I所述的XPath查询优化方法,其特征在于,步骤SlOl中,初始化的具体步骤为使用查询代价矩阵作为运行时的数据结构,在其中保存代价指标、连接位置和中间结果集的信息;查询代价矩阵中的每一个单元格s[i,j], l<=i< = j〈=N,分别记录了其对应的一个部分路径SP=Stepi/. . . /Stepj的相关信息,用一个四元组〈cost, splitlndex, hidList, rsCount>来表示,其中cost表示为完成该部分路径的查询处理,所消耗的总代价;rsCount表示该部分路径的选择度,即对该部分路径执行查询处理后的中间结果集规模;splitlndex记录该部分路径的最佳分割位置,即在该点将路径表达式分成两部分分别查询后再对两部分的结果集进行连接操作能获得最快的处理速度;hidList是完成当前子路径的查询处理后得到的结果集,即层次编码五元组列表。
3.根据权利要求2所述的XPath查询优化方法,其特征在于,步骤S102中,处理单步路径具体为对于单步路径,不需要进行操作可直接获得目标结点集,所以将单步路径的代价cost为零;单步路径无需也无法进行连接顺序的选择,所以分割位置splitlndex设为其自身;hidList即为该标签名对应的层次编码五元组列表,rsCount即为标签对应的节点个数,通过对hidList中的nodeCount字段求和得到。
4.根据权利要求I所述的XPath查询优化方法,其特征在于,步骤S105中,判断路径类型的步骤是定义谓词路径为只包含谓词过滤操作符,不包含其它类型操作符的路径表达式,遍历当前处理路径的操作符集合,如果存在除谓词操作符以外的其它类型的操作符,则当前处理路径为长路径,如果不存在,当前处理路径为谓词路径。
5.根据权利要求I所述的XPath查询优化方法,其特征在于,步骤S106中,估算长路径代价的方法为长路径Stepi/…/Stepj的执行代价估算公式表示为左子路径的执行代价s[i, k]. cost、上右子路径的执行代价s[k+l, j]. cost、与左右子路径的连接代价joinCost (LongPath (i, k), LongPath (k+1, j))之和,其计算公式如下所示 s [i, j]. cost=s [i, k]. cost+s [k+1, j]. cost+joinCost (LongPath (i, k), LongPath (k+1,j))。
6.根据权利要求I所述的XPath查询优化方法,其特征在于,步骤S109中,在得出路径Stepi/…/Stepj的查询代价估计值后,需要计算该路径的选择度,以供后续的计算过程使用,为了估算路径Stepi/…/Stepj的选择度,代价估算矩阵中保存了与其关联的层次编码五元组的列表List〈HidTuple>,通过嵌套循环方法对s[i, splitlndex]. hidList和 s [splitlndex+l, j]. hidList 中的层次编码使用公式 Hid (Descendant) &(2length(Hld(Ancest°ri) - I) =Hid (Ancestor)和公式 length (Hid (Child)) =Iength (Hid (Parent)) +UpLimit( Iog2 (chiIdNameNum(Parent)+1))进行结构关系测试后,得到当前路径的结果集s[i, j].hidList 和 s[i, j]. rsCount。
7.根据权利要求I所述的XPath查询优化方法,其特征在于,步骤SI10中,对谓词路径Step [Filterl] [Filter2]…[FilterN]来说,其可能的谓词排列顺序共有N !种,当尚有未处理过的谓词排列顺序时,会从此步骤进入步骤Slll ;若已遍历完所有可能的谓词排列顺序,则下一步进入步骤114; 步骤Slll中,由于谓词路径的连接操作顺序是固定的,因此其执行代价使用下述公式递归计算得到,其公式为 PredicatePath(l,N). cost=PredicatePath(I,N-1). cost + joinCost(PredicatePath(I, N_l), N)。
8.根据权利要求I所述的XPath查询优化方法,其特征在于,所述文档统计信息包括用层次编码对XML文档的结构概要信息进行统计,用值-编码直方图对XML文档的数值型值概要信息进行统计,用扩展剪枝计数后缀树RPST对XML文档的字符串型概要统计信息进行统计,以及利用以上XML文档统计信息对XPath路径表达式进行查询优化的优化算法; 所述层次编码是一种宽度优先的编码形式,其表现为二进制串,其中父节点层次编码相同且标签名相同的XML文档节点在层次编码中对应同一个层次编码; 所述值-编码直方图用于统计数值型节点的值分布情况,对传统直方图进行了改进,在其中增加文档结构信息,即层次编码,用以区分不同路径上的同名节点; 所述RPST在剪枝计数后缀树PST的基础上做了两样修改,一是对剪枝添加限制条件;二是在部分被剪枝节点的父节点中保留其少量信息;RPST的字符串谓词选择率估算算法在PST的MO算法上做了两样修改一是在RPST中查找字符串的最长前缀为空时,字符串谓词选择率为O ;二是结合RPST改变获取最长重叠前缀的方法,得到更长的最长重叠前缀及其选择率。
9.一种XPath查询优化的系统,其特征在于,包括查询解析模块、查询优化模块、查询执行模块和文档加载模块; 所述查询解析模块,用于对输入的XPath查询语句进行编译解析,得到查询语句的内存表现形式,即查询计划树,构成查询计划树的节点中封装了有关操作类型和操作数的信息; 所述查询优化模块,用于对查询计息模块输入的原始查询计划树进行优化,然后将优化后的查询计划树输出到查询执行模块; 所述查询执行模块,用于接收查询优化模块输入的优化后的查询计划树,执行查询计划;从查询计划树的根节点开始递归向下进行遍历,遍历过程中从文档加载模块中取出相应信息,根据查询计划树中操作符节点的类型来执行相应结构连接操作和谓词过滤操作,并将得到的最终查询结果根据查询语句的要求进行重构,将其返回给用户; 所述文档加载模块,用于将XML文档加载到内存并解析为文档树,为其它模块访问XML文档提供支持。
10.根据权利要求9所述的XPath查询优化的系统,其特征在于,所述查询优化模块,由统计信息管理器和查询语句优化器组成;其中统计信息管理器用于统计XML文档的结构信息和值信息,将其组织成一定的结构,用于支持查询路径的结果集估算;查询语句优化器用于对XPath路径表达式在执行中其连接操作的各种可能的执行顺序的代价进行估算,得到最优的执行连接顺序,重构查询计划。
全文摘要
本发明公开了一种XPath查询优化方法及系统。方法包括,用层次编码对XML文档的结构概要信息进行统计,用值-编码直方图和RPST对值概要信息进行统计,以及利用以上统计信息对XPath路径表达式进行查询优化的优化算法。查询优化算法包括,S101-S102初始化数据结构和处理单步路径;S103判断是否存在未估算路径;S104判断路径类型;S105-S109在长路径所有可能的连接中估算出代价最小的连接,用相应数据更新代价矩阵和结果集矩阵;S110-S114估算出谓词路径中代价最小的排列顺序,用相应数据更新代价矩阵和结果集矩阵,并按最优排列重排谓词;S115重构查询计划。本发明提供的XPath查询优化方法及系统能有效地对XPath查询语句进行优化,大大提高了XPath查询语句的执行效率。
文档编号G06F17/30GK102929996SQ20121041150
公开日2013年2月13日 申请日期2012年10月24日 优先权日2012年10月24日
发明者李 东, 梁晓翀 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1