预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN114116767A(43)申请公布日2022.03.01(21)申请号202111424112.6(22)申请日2021.11.26(71)申请人北京人大金仓信息技术股份有限公司地址100102北京市朝阳区容达路7号院5号楼1至3层101内二层201(72)发明人范国腾尹强(74)专利代理机构北京开阳星知识产权代理有限公司11710代理人唐博(51)Int.Cl.G06F16/242(2019.01)G06F16/22(2019.01)权利要求书2页说明书10页附图2页(54)发明名称数据库SQL查询语句转换方法及装置(57)摘要本发明提供了一种数据库SQL查询语句转换方法,涉及数据库技术领域。所述方法包括:获取原始SQL查询表达式;根据预设转换规则将所述原始SQL查询表达式转换为目标SQL查询表达式;所述目标SQL查询表达式为对所述原始SQL查询表达式的执行条件进行效率优化之后的表达式;所述预设转换规则是基于SQL字符串转换的方式或者基于查询树转换的方式;根据所述目标SQL查询表达式生成执行计划。采用本方法能够提高客户端的SQL语句在数据库中的执行效率。CN114116767ACN114116767A权利要求书1/2页1.一种数据库SQL查询语句转换方法,其特征在于,应用于数据库服务器,所述方法包括:获取原始SQL查询表达式;根据预设转换规则将所述原始SQL查询表达式转换为目标SQL查询表达式;所述目标SQL查询表达式为对所述原始SQL查询表达式的执行条件进行效率优化之后的表达式;所述预设转换规则是基于SQL字符串转换的方式或者基于查询树转换的方式;根据所述目标SQL查询表达式生成执行计划。2.根据权利要求1所述的方法,其特征在于,在根据预设转换规则将所述原始SQL查询表达式转换为目标SQL查询表达式之前,所述方法还包括:创建预设转换规则;所述预设转换规则包括:规则标识、转换前的第一预设查询表达式以及转换后的第二预设查询表达式;其中,所述规则标识为每条预设转换规则的唯一标识符;根据所述预设转换规则生成查询转换规则表;将所述第一预设查询表达式以及所述第二预设查询表达式均以查询树的数据结构存储在所述查询转换规则表中。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:根据规则标识对所述预设转换规则进行维护处理;其中,维护处理的方法包括:创建规则、删除规则、使规则失效以及激活失效规则。4.根据权利要求1至2任一项所述的方法,其特征在于,所述根据预设转换规则将所述原始SQL查询表达式转换为目标SQL查询表达式,包括:检测所述原始SQL查询表达式的SQL字符串是否与第一预设查询表达式的SQL字符串匹配;若匹配,则将所述原始SQL查询表达式转换为目标SQL查询表达式。5.根据权利要求1至2任一项所述的方法,其特征在于,所述根据预设转换规则将所述原始SQL查询表达式转换为目标SQL查询表达式,包括:根据数据库解析器将所述原始SQL查询表达式解析为待转换查询树;检测所述待转换查询树与所述第一预设查询表达式对应的查询树是否一致;若一致,则根据所述第二预设查询表达式对应的查询树将所述待转换查询树转换生成目标SQL查询树;根据所述目标SQL查询树获取目标SQL查询表达式。6.根据权利要求5所述的方法,其特征在于,所述检测所述待转换查询树与所述第一预设查询表达式对应的查询树是否一致,包括:检测所述待转换查询树的节点属性是否与所述第一预设查询表达式对应的查询树的节点属性一致;所述节点属性包括除参数型节点之外的其余节点类型以及节点参数;所述参数型节点的节点类型为参数型,节点参数为常量类型。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据映射查询参数的状态确定是否对所述原始SQL查询表达式进行转换;所述映射查询参数的状态包括:全部查询、部分查询以及关闭查询;若所述映射查询参数的状态为全部查询,则根据预设转换规则将所述原始SQL查询表2CN114116767A权利要求书2/2页达式转换为目标SQL查询表达式;若所述映射查询参数的状态为部分查询,则根据预设转换规则将所述原始SQL查询表达式的子查询表达式转换为目标SQL子查询表达式;若所述映射查询参数的状态为关闭查询,则根据所述原始SQL查询表达式生成执行计划。8.一种数据库SQL查询语句转换装置,其特征在于,包括:获取模块,用于获取原始SQL查询表达式;转换模块,用于根据预设转换规则将所述原始SQL查询表达式转换为目标SQL查询表达式;所述目标SQL查询表达式为对所述原始SQL查询表达式的执行条件进行效率优化之后的表达式;所述预设转换规则是基于SQL字符串转换的方式或者基于查询树转换的方式;执行模块,用于根据