一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

动态sql语句优化方法、装置、存储介质、计算机设备与流程

2023-01-17 12:08:18 来源:中国专利 TAG:

技术特征:
1.一种动态sql语句优化方法,其特征在于,所述方法包括:获取待优化的动态sql语句,以及所述动态sql语句中包含至少一个参数描述符及对应的执行条件;针对每一参数描述符,判断该参数描述符是否满足预编译条件;若否,则删除该参数描述符对应的执行条件;若是,则根据该参数描述符及对应的执行条件,对所述动态sql语句中包含该执行条件的代码段进行预编译。2.根据权利要求1所述的动态sql语句优化方法,其特征在于,所述判断该参数描述符是否满足预编译条件,包括:确定该参数描述符的符号特征及对应的输入参数,其中,该参数描述符的符号特征包括%{}和#{},所述输入参数包括空参数和非空参数;当该参数描述符的符号特征为#{},或该参数描述符的符号特征为%{}且所述输入参数为非空参数时,判断该参数描述符满足预编译条件;当该参数描述符的符号特征为%{}且所述输入参数为空参数时,判断该参数描述符不满足预编译条件。3.根据权利要求2所述的动态sql语句优化方法,其特征在于,所述根据该参数描述符及对应的执行条件,对所述动态sql语句中包含该执行条件的代码段进行预编译,包括:判断该参数描述符对应的执行条件是否包含in或not in;若包含,则将该参数描述符替换为预先设置的占位符,以对所述动态sql语句中包含该执行条件的代码段进行预编译;若不包含,则将该参数描述符进行删除,并对所述动态sql语句中包含该执行条件的代码段进行预编译。4.根据权利要求1所述的动态sql语句优化方法,其特征在于,所述获取待优化的动态sql语句,以及所述动态sql语句中包含至少一个参数描述符及对应的执行条件,包括:获取包含<script>的sql语句,并将该sql语句作为动态sql语句;确定所述动态sql语句中所有参数描述符及对应的执行条件。5.一种动态sql语句优化装置,其特征在于,包括:数据获取模块,用于获取待优化的动态sql语句,以及所述动态sql语句中包含至少一个参数描述符及对应的执行条件;条件判断模块,用于针对每一参数描述符,判断该参数描述符是否满足预编译条件;执行条件删除模块,用于删除所述动态sql语句中该参数描述符对应的执行条件;预编译模块,用于根据该参数描述符及对应的执行条件,对所述动态sql语句中包含该执行条件的代码段进行预编译。6.根据权利要求5所述的动态sql语句优化装置,其特征在于,所述条件判断模块,包括:参数数据获取子模块,用于确定该参数描述符的符号特征及对应的输入参数,其中,该参数描述符的符号特征包括%{}和#{},所述输入参数包括空删除的内容参数和非空参数;符号特征判断子模块,用于当该参数描述符的符号特征为#{},或该参数描述符的符号特征为%{}且所述输入参数为非空参数时,判断该参数描述符满足预编译条件;
输入参数判断子模块,用于当该参数描述符的符号特征为%{}且所述输入参数为空参数时,判断该参数描述符不满足预编译条件。7.根据权利要求6所述的动态sql语句优化装置,其特征在于,所述预编译模块,包括:执行条件判断子模块,用于判断该参数描述符对应的执行条件是否包含in或not in;参数描述符替换子模块,用于将该参数描述符替换为预先设置的占位符,以对所述动态sql语句中包含该执行条件的代码段进行预编译;参数描述符删除子模块,用于将该参数描述符进行删除,并对所述动态sql语句中包含该执行条件的代码段进行预编译。8.据权利要求5所述的动态sql语句优化装置,其特征在于,所述数据获取模块,包括:动态语句sql获取子模块,用于获取包含<script>的sql语句,并将该sql语句作为动态sql语句;参数描述符确定子模块,用于确定所述动态sql语句中所有参数描述符及对应的执行条件。9.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至4中任一项所述动态sql语句优化方法的步骤。10.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1至4中任一项所述动态sql语句优化方法的步骤。

技术总结
本申请提供的本申请提供的动态sql语句优化方法、装置、存储介质、计算机设备,在获取待优化的动态sql语句后,可以确定该动态sql语句中所有参数描述符以及对应的执行条件,并判断每一参数描述符是否满足预编译条件,若否,则删除该动态sql语句中该参数描述符对应的执行条件,以减少该动态sql语句无意义的代码,若是,则根据该参数描述符及对应的执行条件,对该动态sql语句中包含该执行条件的代码段进行预编译,以减少复杂语法的使用,例如,在动态sql语句的执行条件带有in或not in时,可以不再编写复杂的foreach代码。本申请采用的动态语法优化方法语法简单,可以减少大量无意义代码,提升动态sql语句的编写效率。提升动态sql语句的编写效率。提升动态sql语句的编写效率。


技术研发人员:雷桔 王刚 王家宾 黄文文
受保护的技术使用者:天翼数字生活科技有限公司
技术研发日:2022.11.10
技术公布日:2022/12/30
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献