System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及大数据领域,尤其涉及一种查询语句的检核方法、装置及设备。
技术介绍
1、数据可以以数据表的形式存储于底层关系型数据管理系统中,可以基于结构化查询语言(structured query language,sql)语句对关系型数据管理系统中的数据进行检索。在实际应用过程中,需要对sql语句的执行过程进行检核处理,以避免由于sql语句执行较慢而导致关系型数据管理系统的响应速度和处理效率降低。
2、可以通过sql检核平台对sql语句进行检核处理。在相关技术中,sql检核平台基于固定的检核规则对sql语句进行预检核,在预检核通过后由数据库管理员(databaseadministrator,dba)对sql语句进行人工检核,在人工检核通过后,自动在测试数据库或生产数据库中执行。
3、然而,相关技术中的sql校核平台具有检核效率低、sql语句检核范围小、且难以判断sql语句的性能风险,导致对sql语句进行检核处理时可用性差。
技术实现思路
1、本申请提供一种查询语句的检核方法、装置及设备,用以解决由于相关技术中的sql校核平台具有检核效率低、sql检核范围小、且无法准确判断sql语句的性能风险,而导致对sql语句进行检核处理时可用性差的问题。
2、第一方面,本申请提供一种查询语句的检核方法,应用于结构化查询语言sql检核平台,所述sql检核平台中部署有目标数据库,包括:
3、获取待检核sql语句;
4、在所述目标数据库中,确定
5、根据所述目标数据和所述待检核sql语句,确定所述待检核sql语句对应的执行计划,所述执行计划包括多个执行语句、以及每个执行语句的执行顺序;
6、按照所述每个执行语句的执行顺序运行所述多个执行语句,并获取所述多个执行语句的多条运行信息;
7、根据所述多个执行语句和所述多条运行信息,确定所述待检核sql语句对应的检核结果。
8、在一种可能的设计中,根据所述多个执行语句和所述多条运行信息,确定所述待检核sql语句对应的检核结果,包括:
9、确定每个执行语句对应的检核规则;根据所述多个执行语句对应的检核规则和所述多条运行信息,确定所述检核结果。
10、在一种可能的设计中,根据所述多个执行语句对应的检核规则和所述多条运行信息,确定所述检核结果,包括:
11、针对任意一个执行语句,根据所述执行语句的运行信息和所述执行语句对应的检核规则,确定所述执行语句对应的子检核结果,所述子检核结果用于指示所述执行语句是否满足所述检核规则;
12、根据每个执行语句对应的子检核结果,确定所述检核结果。
13、在一种可能的设计中,根据每个执行语句对应的子检核结果,确定所述检核结果,包括:
14、根据每个执行语句对应的子检核结果,在所述多个执行语句中确定多个第一执行语句,所述第一执行语句对应的子检核结果满足所述第一执行语句对应的检核规则;
15、确定所述多个第一执行语句的第一数量、以及所述多个执行语句的第二数量;
16、根据所述第一数量和所述第二数量,确定所述检核结果。
17、在一种可能的设计中,根据所述第一数量和所述第二数量,确定所述检核结果,包括:
18、确定所述第一数量和所述第二数量之间的第一比值;
19、若所述第一比值小于预设阈值,则确定所述检核结果为检核未通过;
20、若所述第一比值大于或等于所述预设阈值,则确定所述检核结果为检核通过。
21、在一种可能的设计中,所述目标数据库包括多个子数据库;在所述目标数据库中,确定所述待检核sql语句对应的目标数据,包括:
22、确定所述待检核sql语句对应的业务标识;
23、根据所述业务标识,在所述多个子数据库中确定所述业务标识对应的目标子数据库;
24、根据所述目标子数据库,确定所述待检核sql语句对应的目标数据。
25、在一种可能的设计中,根据所述目标子数据库,确定所述待检核sql语句对应的目标数据,包括:
26、对所述目标子数据库进行数据量统计处理,得到所述待检核sql语句对应的数据量;
27、确定所述目标子数据库中存在的至少一个数据表,对所述至少一个数据表进行表结构提取处理,得到所述待检核sql语句对应的表结构信息。
28、在一种可能的设计中,根据所述目标数据和所述待检核sql语句,确定所述待检核sql语句对应的执行计划,包括:
29、对所述待检核sql语句进行分析处理,得到所述待检核sql语句的分析结果;
30、根据所述目标数据和所述分析结果,确定所述待检核sql语句对应的所述多个执行语句、以及每个执行语句的执行顺序;
31、将所述多个执行语句按照每个执行语句的执行顺序进行排列,得到所述执行计划。
32、在一种可能的设计中,获取待检核sql语句,包括:
33、确定至少一个预设数据库;
34、获取对所述至少一个预设数据库进行数据操作的多条历史sql语句;
35、在所述多条历史sql语句中获取所述待检核sql语句。
36、在一种可能的设计中,获取待检核的多条sql语句,包括:
37、确定至少一个预设对象关系映射框架;
38、确定所述至少一个预设对象关系映射框架对应的映射文件,所述映射文件包括:多个sql语句模板和参数映射关系;
39、根据所述多个sql语句模板和所述参数映射关系,得到多条拼接sql语句,在所述多条拼接sql语句中获取所述待检核sql语句。
40、第二方面,本申请提供一种查询语句的检核装置,应用于sql检核平台,所述sql检核平台中部署有目标数据库,包括:
41、获取模块,用于获取待检核sql语句;
42、确定模块,用于在所述目标数据库中,确定所述待检核sql语句对应的目标数据,所述目标数据包括所述检核sql语句对应的数据量、以及所述检核sql语句对应的表结构信息;
43、确定模块,还用于根据所述目标数据和所述待检核sql语句,确定所述待检核sql语句对应的执行计划,所述执行计划包括多个执行语句、以及每个执行语句的执行顺序;
44、运行模块,用于按照所述每个执行语句的执行顺序运行所述多个执行语句,并获取所述多个执行语句的多条运行信息;
45、确定模块,还用于根据所述多个执行语句和所述多条运行信息,确定所述待检核sql语句对应的检核结果。
46、在一种可能的设计中,所述确定模块具体用于:
47、确定每个执行语句对应的检核规则;
48、根据所述多个执行语句本文档来自技高网...
【技术保护点】
1.一种查询语句的检核方法,其特征在于,应用于结构化查询语言SQL检核平台,所述SQL检核平台中部署有目标数据库,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述多个执行语句和所述多条运行信息,确定所述待检核SQL语句对应的检核结果,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述多个执行语句对应的检核规则和所述多条运行信息,确定所述检核结果,包括:
4.根据权利要求3所述的方法,其特征在于,根据每个执行语句对应的子检核结果,确定所述检核结果,包括:
5.根据权利要求4所述的方法,其特征在于,根据所述第一数量和所述第二数量,确定所述检核结果,包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述目标数据库包括多个子数据库;在所述目标数据库中,确定所述待检核SQL语句对应的目标数据,包括:
7.根据权利要求6所述的方法,其特征在于,根据所述目标子数据库,确定所述待检核SQL语句对应的目标数据,包括:
8.根据权利要求1-7任一项所述的方法,其特征在于,根据所述目
9.根据权利要求1-8任一项所述的方法,其特征在于,获取待检核SQL语句,包括:
10.根据权利要求1-8任一项所述的方法,其特征在于,获取待检核的多条SQL语句,包括:
11.一种查询语句的检核装置,其特征在于,应用于结构化查询语言SQL检核平台,所述SQL检核平台中部署有目标数据库,包括:
12.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至10中任一项所述的方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法。
...【技术特征摘要】
1.一种查询语句的检核方法,其特征在于,应用于结构化查询语言sql检核平台,所述sql检核平台中部署有目标数据库,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述多个执行语句和所述多条运行信息,确定所述待检核sql语句对应的检核结果,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述多个执行语句对应的检核规则和所述多条运行信息,确定所述检核结果,包括:
4.根据权利要求3所述的方法,其特征在于,根据每个执行语句对应的子检核结果,确定所述检核结果,包括:
5.根据权利要求4所述的方法,其特征在于,根据所述第一数量和所述第二数量,确定所述检核结果,包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述目标数据库包括多个子数据库;在所述目标数据库中,确定所述待检核sql语句对应的目标数据,包括:
7.根据权利要求6所述的方法,其特征在于,根据所述目标子数据库,确定所述待检核sql语句对应的目标...
【专利技术属性】
技术研发人员:杨晓兵,
申请(专利权)人:中原银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。