[发明专利]结构化查询语言程序的计算方法、调整方法和服务器有效
申请号: | 201210392343.8 | 申请日: | 2012-10-16 |
公开(公告)号: | CN103729379B | 公开(公告)日: | 2017-08-25 |
发明(设计)人: | 黄明 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京亿腾知识产权代理事务所11309 | 代理人: | 戴燕 |
地址: | 英国英属开曼群岛大*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 结构 查询 语言 程序 计算方法 调整 方法 服务器 | ||
1.一种结构化查询语言SQL程序的计算方法,其特征在于,所述方法包括:
服务器获取待计算的原始SQL程序,所述原始SQL程序携带有标识信息;
根据所述原始SQL程序的标识信息,在优化数据库中提取所述标识信息对应的优化SQL程序;其中,所述优化SQL程序是所述服务器对原始数据库中的所有原始SQL程序进行分解和重组的优化处理后得到的,所述优化SQL程序包括优化逻辑结果;
根据所述优化SQL程序的优化逻辑结果的内容,对所述优化SQL程序进行计算,以获得所述原始SQL程序的计算结果;
所述服务器对原始数据库中的所有原始SQL程序进行分解和重组的优化处理具体为:
使用语法解析器,对所有所述原始SQL程序按照最小的语法结构词进行拆分处理获得语法节点,并且将拆分后的所有语法节点按照各个节点之间的原始语法关系组装为一个语法树;
对所有原始SQL程序的语法节点组装后的所述语法树之间进行匹配运算,得到匹配的最大子树;
将所述匹配的最大子树的计算逻辑的所述优化逻辑结果保存在第二缓存表中;
使用第二缓存表中保存的所述计算逻辑的优化逻辑结果替换所述原始SQL程序中与所述匹配的最大子树对应的子程序,得到优化SQL程序。
2.根据权利要求1所述的SQL程序的计算方法,其特征在于,所述获取待计算的原始SQL程序之后,还包括:根据所述原始SQL程序的标识信息,在所述优化数据库中不能获取到所述标识信息对应的优化SQL程序时,对所述原始SQL程序进行计算。
3.根据权利要求1所述的SQL程序的计算方法,其特征在于,所述方法还包括:
将所述优化逻辑结果的内容存放于第一缓存表中。
4.根据权利要求1所述的SQL程序的计算方法,其特征在于,所述使用第二缓存表中保存的所述计算逻辑的优化逻辑结果替换所述原始SQL程序中与所述匹配的最大子树对应的子程序,得到优化SQL程序具体为:
使用所述第二缓存表中保存的所述的优化逻辑结果替换所述语法树中与所述优化逻辑结果所对应的最大子树相应的优化分支,所述优化分支是所述原始SQL程序中与所述匹配的最大子树对应的子程序的树形结构;
从所述优化分支向所述语法树的根部扫描,得到所述优化SQL程序的树形结构,从而得到所述优化SQL程序。
5.根据权利要求1所述的SQL程序的计算方法,其特征在于,所述使用所述第二缓存表中保存的所述的优化逻辑结果替换所述语法树中与所述优化逻辑结果所对应的最大子树相应的优化分支之前还包括:
使用语法解析器对每一条所述原始SQL程序按照最小的语法结构进行拆分处理,并且将拆分后的所有语法节点按照各个粒度之间的语法关系组装为一个语法树。
6.一种结构化查询语言SQL程序的调整方法,其特征在于,所述方法包括:
使用语法解析器对所有原始SQL程序按照最小的语法结构词进行拆分处理获得语法节点,并且将拆分后的所有语法节点按照各个节点之间的原始语法关系组装为一个语法树;
对所有原始SQL程序的语法节点组装后的所述语法树之间进行匹配运算,得到匹配的最大子树;
将所述匹配的最大子树的计算逻辑的优化逻辑结果保存在第二缓存表中;
使用第二缓存表中保存的所述计算逻辑的优化逻辑结果替换所述原始SQL程序中与所述匹配的最大子树对应的子程序,得到优化SQL程序。
7.根据权利要求6所述的结构化查询语言SQL程序的调整方法,其特征在于,所述使用第二缓存表中保存的所述计算逻辑的优化逻辑结果替换所述原始SQL程序中与所述匹配的最大子树对应的子程序,得到优化SQL程序具体为:
使用所述第二缓存表中保存的所述的优化逻辑结果替换所述语法树中与所述优化逻辑结果所对应的最大子树相应的优化分支,所述优化分支是所述原始SQL程序中与所述匹配的最大子树对应的子程序的树形结构;
从所述优化分支向所述语法树的根部扫描,得到所述优化SQL程序的树形结构,从而得到所述优化SQL程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210392343.8/1.html,转载请声明来源钻瓜专利网。