【技术实现步骤摘要】
本专利技术一般涉及软件查询优化的领域,尤其涉及用于XML语言和查看定义语言的优化。
技术介绍
语言的优化是每个程序员的目标。有效代码运行得越快,消耗的计算机资源就越少,也越紧凑。这些特性对于想使其计算机硬件和软件具有更好的性能的代码消费者是很有吸引力的。代码优化的目标是包括查询语言应用的大多数应用,所期望的,在查询语言应用中,代码可被用于查询大的数据库,例如关系数据库。当用于执行查询的系统使用多种语言在多个数据库中进行查询时,这个问题就变得更加尖锐。在这种情况下,通过比未优化的代码更快地并且更始终如一地返回查询结果,有效代码的产生就有利于查询。优化需求的一个例子是在一个系统中的,在该系统中,可以将XML相关语言查询,例如XSLT、XQuery和XPath,或者查看定义语言,输入到用于在SQL数据库上执行查询的系统中。在这种系统中,优化规则是用于改进执行代码效率。XML查询提出了至少四种达到标准化和优化的壁垒代码识别、排序、副作用以及结构。在数据库和功能性编程优化中的一般技术是通过执行置换来消除变量。然而,当执行置换甚至一个简单的置换不能很好地完成时,必然更关注这 ...
【技术保护点】
一种用于为输入查询构造最佳表示,该方法包括:接收输入查询,其中输入查询是包括节点的中间语言表示,每个节点都具有各自的节点类型;以左深度第一方式检查该节点,以便识别用于优化的节点类型;标记相应于被识别的节点类型的节点; 向上移动到下一个节点,直到输入查询的中间语言表示已经全部被检查过;从中间语言表示的顶部开始搜索被标记的节点,并且识别将被优化的相关代码模式;以及用改进的代码模式调整被标记的代码模式,以便为输入查询形成最佳表示。
【技术特征摘要】
US 2003-6-23 10/601,4801.一种用于为输入查询构造最佳表示,该方法包括接收输入查询,其中输入查询是包括节点的中间语言表示,每个节点都具有各自的节点类型;以左深度第一方式检查该节点,以便识别用于优化的节点类型;标记相应于被识别的节点类型的节点;向上移动到下一个节点,直到输入查询的中间语言表示已经全部被检查过;从中间语言表示的顶部开始搜索被标记的节点,并且识别将被优化的相关代码模式;以及用改进的代码模式调整被标记的代码模式,以便为输入查询形成最佳表示。2.根据权利要求1的方法,其中接收步骤包括接收语义中间语言表示。3.根据权利要求2的方法,其中该语义表示包括包含节点的图形结构。4.根据权利要求1的方法,其中改进的代码模式是利用一个或多个变换产生的,该变换包括常量合并、逻辑重写、路径重写、循环重复代码重写、元组重写、位置重写、交换、内嵌以及种类消除中的至少一个。5.一种计算机可读介质,具有计算机可执行指令,该指令用于执行用来为输入查询构造最佳表示的方法,该方法包括接收输入查询,其中输入查询是包含代码模式和节点的中间语言表示,每个代码具有各自的节点类型;以左深度第一方式检查该节点以便识别用于优化主题的代码模式和节点类型;标记被识别的节点模式直到输入查询的中间语言表示已经全部被检查过;从中间语言表示的顶部开始搜索被标记的代码模式;以及用改进的代码模式调整被标记的代码模式从而为输入查询形成最佳表示。6.一种计算机系统,用于为输入查询产生优化的表示,该系统包括一输入设备,用于接收输入查询;一个或多个中间语言编译器,其中根据输入查询产生包含节点的中间语言表示;以及一优化器,执行如下动作接收输入查询,其中输入查询是包括节点的中间语言表示,每个节点都具有各自的节点类型;以左深度第一方式检查该节点,以便识别用于优化的节点类型;标记相应于被识别的节点类型的节点;向上移动到下一个节点,直到输入查询的中间语言表示已经全部被检查过;从中间语言表示的顶部开始搜索被标记的节点,并且识别将被优化的相关代码模式;以及用改进的代码模式调整被标记的代码模式,以便为输入查询形成最佳表示。7.根据权利要求6的系统,还包括优化后处理部分,用于形成查询结果,包括一个或多个目标产生器,其中最佳表示被变换为一个或多个目标表示,形成目标查询;一个或多个数据源,用于在其上进行查询;以及一个或多个执行引擎,其中在一个或多个数据源上执行目标查询,以便生成查询结果。8.一种计算机系统,用于产生一个或多个输入查询的XML中间语言表示的最佳表示,包括一个或多个输入设备,用于接收一个或多个输入查询;一个或多个中间语言编译器,其中每个编译器产生输入查询的中间语言表示;一表达式计算器,它将每个中间语言表示组合到单独的XML中间语言表示中;以及一优化器,执行...
【专利技术属性】
技术研发人员:ML布鲁恩答吉,AE基姆巴尔,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。