【技术实现步骤摘要】
结构化查询语言程序的计算方法、调整方法和服务器
本申请涉及数据查询领域,尤其涉及一种结构化查询语言SQL程序的计算方法、调整方法和服务器。
技术介绍
随着互联网的快速发展,产生了大量的数据。对这些数据的操作,如查询等,占用了大量的计算资源。并且由于数据查询操作的相似性,导致大量信息的重复计算。例如,作为电子商务网站中,为完成数据操作,每天都要运行一万到两万个结构化查询语言(StructuredQueryLanguage,SQL)程序,在运行时,通过调度系统实现所有SQL程序的顺序调度。这些SQL程序看上去是为了解决各种各样的业务问题,但其本质上是对于源数据的类似操作,由于计算的相似性,导致大量的重复计算。现有技术下,SQL程序的计算方法为:对每个需要运行的SQL程序都进行完整的计算。现有的SQL程序的计算方法的缺点是:很多SQL程序都是对源数据的类似操作,因此,对每个SQL程序都进行完整的计算相当于每次都对源数据进行扫描,在源数据量大的情况下,这种运算严重浪费了计算资源,而且延长了计算时间,计算效率低。
技术实现思路
本申请的目的是,提供一种SQL程序的计算方法、调整方法和服务器,以实现服务器自动对要进行运算的原始SQL程序进行调整得到优化SQL程序,提高对原始SQL程序计算的效率,以及减轻服务器对源数据的访问负担。为实现上述目的,本申请提供了一种SQL程序的计算方法,所述方法包括:服务器获取待计算的原始SQL程序,所述原始SQL程序携带有标识信息;根据所述原始SQL程序的标识信息,在优化数据库中提取所述标识信息对应的优化SQL程序;其中,所述优化SQL程序是 ...
【技术保护点】
一种结构化查询语言SQL程序的计算方法,其特征在于,所述方法包括:服务器获取待计算的原始SQL程序,所述原始SQL程序携带有标识信息;根据所述原始SQL程序的标识信息,在优化数据库中提取所述标识信息对应的优化SQL程序;其中,所述优化SQL程序是所述服务器对原始数据库中的所有原始SQL程序进行分解和重组的优化处理后得到的,所述优化SQL程序包括优化逻辑结果;根据所述优化SQL程序的优化逻辑结果的内容,对所述优化SQL程序进行计算,以获得所述原始SQL程序的计算结果。
【技术特征摘要】
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程序的语法节点组装后的所述语法树之间进行匹配运算,得到匹配的最大子树;将所述匹配的最大子树的计算逻辑的优化逻辑结果保存在第二...
【专利技术属性】
技术研发人员:黄明,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。