一种SQL语句的性能分析方法、装置、计算机设备和介质制造方法及图纸

技术编号:38577983 阅读:9 留言:0更新日期:2023-08-26 23:24
本申请公开一种SQL语句的性能分析方法、装置、计算机设备和介质,可应用于大数据领域或金融领域,在进行单次交易的操作过程中,获取单次交易对应的执行SQL语句,确定执行SQL语句对应的SQL方法名。由于不同的执行SQL语句的SQL方法名不同,若SQL方法名相同,可认为是相同的执行SQL语句,相同的方法名重复出现,表明某一SQL语句被重复执行,故可以根据SQL方法名统计执行SQL语句对应的执行次数。最后,可以将执行次数大于第一阈值的执行SQL语句确定为异常SQL语句。基于此,可以在单次交易的操作过程中,确定出重复执行的SQL语句,以便后续进行优化,相较于人工分析的方式,能够提高分析效率,同时能够减免人工分析带来的主观偏差,提高分析准确性。析准确性。析准确性。

【技术实现步骤摘要】
一种SQL语句的性能分析方法、装置、计算机设备和介质


[0001]本申请涉及数据处理
,特别是涉及一种SQL语句的性能分析方法、装置、计算机设备和介质。

技术介绍

[0002]在系统开发过程中,通常可以是基于结构化查询语言(Structured Query Language,SQL)数据库进行开发,具体可以是通过编写SQL语句的方式实现系统的各项功能等。例如,在银行业务中,可以开发交易系统以支持银行业务中的各种交易,如转账交易等,相应的,交易系统的各项功能可以包括转账功能等。
[0003]针对复杂的系统,多采用多方开发人员协作开发的方式进行开发的。复杂的系统中,会设计大量的SQL语句调用等,由于不同开发方的技术能力层次不齐,所设计的SQL语句的逻辑不同,导致在调用SQL语句时会存在重复执行多次的问题(例如循环调用等),重复执行多次的SQL也可以称为异常SQL,这会使得系统运行效率较低。
[0004]相关技术中,通过人工分析代码的方式定位异常SQL,以便对异常SQL语句的逻辑进行优化。然而,这种方式无法快速定位异常点,存在分析效率低的问题,且人工分析存在主观偏差等会造成分析结果不准确的问题。

技术实现思路

[0005]为了解决上述技术问题,本申请提供了一种SQL语句的性能分析方法、装置、计算机设备和介质,可以在单次交易的操作过程中,确定出重复执行的SQL语句,以便后续进行优化,相较于人工分析的方式,能够提高分析效率,同时能够减免人工分析带来的主观偏差,提高分析准确性。
[0006]本申请实施例公开了如下技术方案:
[0007]一方面,本申请实施例提供了一种SQL语句的性能分析方法,所述方法包括:
[0008]在进行单次交易的操作过程中,获取所述单次交易对应的执行SQL语句;
[0009]确定所述执行SQL语句对应的SQL方法名;
[0010]根据所述SQL方法名统计所述执行SQL语句对应的执行次数;
[0011]将所述执行次数大于第一阈值的执行SQL语句确定为异常SQL语句。
[0012]另一方面,本申请实施例提供了一种SQL语句的性能分析装置,所述装置包括获取单元、确定单元和统计单元:
[0013]所述获取单元,用于在进行单次交易的操作过程中,获取所述单次交易对应的执行SQL语句;
[0014]所述确定单元,用于确定所述执行SQL语句对应的SQL方法名;
[0015]所述统计单元,用于根据所述SQL方法名统计所述执行SQL语句对应的执行次数;
[0016]所述确定单元,还用于将所述执行次数大于第一阈值的执行SQL语句确定为异常SQL语句。
[0017]又一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器以及存储器:
[0018]所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0019]所述处理器用于根据所述程序代码中的指令执行以上方面所述的SQL语句的性能分析方法。
[0020]又一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行以上方面所述的SQL语句的性能分析方法。
[0021]由上述技术方案可以看出,在进行单次交易的操作过程中,可以获取单次交易对应的执行SQL语句,执行SQL语句可以是指完成此次交易被调用执行的SQL语句,进而可以确定执行SQL语句对应的SQL方法名。由于不同的执行SQL语句的SQL方法名不同,若SQL方法名相同,可以认为是相同的执行SQL语句,相同的方法名重复出现,表明某一SQL语句被重复执行,故可以根据SQL方法名统计执行SQL语句对应的执行次数。最后,可以将执行次数大于第一阈值的执行SQL语句确定为异常SQL语句,即,异常SQL语句可以是指重复执行超过第一阈值的SQL语句。基于此,可以在单次交易的操作过程中,确定出重复执行的SQL语句,以便后续进行优化,相较于人工分析的方式,能够提高分析效率,同时能够减免人工分析带来的主观偏差,提高分析准确性。
附图说明
[0022]为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为本申请实施例提供的一种SQL语句的性能分析方法的流程图;
[0024]图2为本申请实施例提供的一种SQL语句的性能分析方法的逻辑图;
[0025]图3为本申请实施例提供的一种SQL语句的性能分析装置的结构图。
具体实施方式
[0026]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0027]本申请实施例所提供的SQL语句的性能分析方法可以通过计算机设备实施,该计算机设备可以是终端设备或服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请对此不做任何限制。
[0028]需要说明的是,本申请提供的一种SQL语句的性能分析方法、装置、计算机设备和介质可用大数据领域或金融领域。上述仅为示例,并不对本申请提供的一种SQL语句的性能
分析方法、装置、计算机设备和介质的应用领域进行限定。
[0029]具体通过如下实施例进行说明:
[0030]图1为本申请实施例提供的一种SQL语句的性能分析方法的流程图,以终端设备作为前述计算机设备为例进行说明,所述方法包括S101

S104:
[0031]S101:在进行单次交易的操作过程中,获取单次交易对应的执行SQL语句。
[0032]在银行业务中,可以开发交易系统以支持银行业务中的各种交易,例如转账交易、支付交易等。在实际应用中,交易系统可以包括多个模块,例如用户信息校验模块、合法性校验模块等等,为了提高效率在开发交易系统时,通常是多方协作开发设计SQL语句,交易系统开发完成后可以进行各种交易,具体可以通过调用对应的SQL语句并执行这些SQL语句的方式实现业务交易。然而,不同开发方的技术能力层次不齐,所设计的SQL语句的逻辑不同(例如语言处理逻辑或者调用逻辑),为了快速定位重复执行的异常SQL,本申请提出了一种SQL语句的性能分析方法,首先可以设计测试阶段,在测试阶段,通过进行交易并对交易过程中的S本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SQL语句的性能分析方法,其特征在于,所述方法包括:在进行单次交易的操作过程中,获取所述单次交易对应的执行SQL语句;确定所述执行SQL语句对应的SQL方法名;根据所述SQL方法名统计所述执行SQL语句对应的执行次数;将所述执行次数大于第一阈值的执行SQL语句确定为异常SQL语句。2.根据权利要求1所述的方法,其特征在于,所述执行SQL语句包括n条执行SQL语句,n为大于1的整数,所述根据所述SQL方法名统计所述执行SQL语句对应的执行次数,包括:根据所述n条执行SQL语句分别对应的SQL方法名,将所述SQL方法名相同的执行SQL语句确定为一条目标执行SQL语句,得到m条目标执行SQL语句,m为小于或等于n的正整数;针对所述m条目标执行SQL语句中的每条目标执行SQL语句,统计所述目标执行SQL语句对应的SQL方法名的存在次数作为所述目标执行SQL语句对应的执行次数;所述将所述执行次数大于第一阈值的执行SQL语句确定为异常SQL语句,包括:从所述m条目标执行SQL语句中筛选所述执行次数大于所述第一阈值的目标执行SQL语句确定为所述异常SQL语句。3.根据权利要求1所述的方法,其特征在于,所述确定所述执行SQL语句对应的SQL方法名,包括:在所述执行SQL语句的运行过程中,利用Java的反射机制获取所述执行SQL语句对应的SQL方法名。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:若确定存在所述异常SQL语句,生成第一提示信息;所述第一提示信息用于指示所述单次交易中存在的所述异常SQL语句。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:根据所述第一...

【专利技术属性】
技术研发人员:戴翔尤立凯
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1