本申请涉及计算机,尤其涉及一种执行语句定位方法、装置、设备和存储介质。
背景技术:
1、在如金融科技等领域行业内,由于业务的交互错杂,导致很多如银行等公司的数据库往往是多个系统共用,例如,借贷系统和银企交互系统之间共同涉及有用于存储合作的外部借贷企业信息等数据的数据库,进而,由于多系统之间的共用和交互,导致一个数据库往往有成千上万甚至上亿条结构化查询语言(sql,structured query language)执行。
2、但是,若该数据库内的某一sql执行语句出现问题(如sql执行语句的响应时间过长),需要对该sql执行语句进行定位时,往往都需要技术人员人工来扫描代码脚本,以查找相应的sql执行语句,通过此人工查找操作,导致sql执行语句的查找效率低,进而影响后续业务流程。因此,如何快速定位sql执行语句是个亟需解决的问题。
技术实现思路
1、有鉴于此,为了解决现有技术存在的不足,本申请提供了一种可应用于如金融科技等领域或其他领域的执行语句定位方法、装置、设备和存储介质。
2、第一方面,本申请提供一种执行语句定位方法,包括:
3、调用mybatis框架对应的配置文件中所注册定义的拦截器,拦截所有查询语句;
4、查找到与所述查询语句对应的sql执行语句,并在所述sql执行语句中添加预定形式的标识信息;其中,一条所述sql执行语句对应一个所述标识信息;
5、监听每条所述sql执行语句被运行时的响应时间;
6、在确定所述响应时间大于预设阈值时,获取相应sql执行语句的标识信息,进而通过所述标识信息,确定所述sql执行语句的位置信息。
7、在可选的实施方式中,所述方法还包括:
8、根据所述位置信息,查找到相应的sql执行语句;
9、对所述sql执行语句进行调整,以使得所述sql执行语句被运行时的响应时间小于等于所述预设阈值。
10、在可选的实施方式中,所述查找到与所述查询语句对应的sql执行语句,包括:
11、通过所述mybatis框架中的statementhandler,从目标项目的mapper目录中的xml文件及所述目标项目的代码注解文件中,提取出与所述查询语句对应的sql执行语句。
12、在可选的实施方式中,所述标识信息包括名字域标识号和声明标识号。
13、在可选的实施方式中,所述在所述sql执行语句中添加预定形式的标识信息,包括:
14、采用预设注释标示符对标识信息进行标注;
15、在所述sql执行语句中添加标注后的所述标识信息。
16、在可选的实施方式中,在所述监听每条所述sql执行语句被运行时的响应时间之后,还包括:
17、根据所有所述sql执行语句的执行情况,对应生成执行记录;其中,所述执行记录包含有关联记录的所述sql执行语句、与所述sql执行语句对应的标识信息和所述sql执行语句的响应时间。
18、在可选的实施方式中,所述获取相应sql执行语句的标识信息,包括:
19、从所述执行记录中查找到目标响应时间;其中,所述目标响应时间大于所述预设阈值;
20、根据所述目标响应时间,获取与所述目标响应时间关联的sql执行语句的标识信息。
21、第二方面,本申请提供一种执行语句定位装置,包括:
22、拦截模块,用于调用mybatis框架对应的配置文件中所注册定义的拦截器,拦截所有查询语句;
23、添加模块,用于查找到与所述查询语句对应的sql执行语句,并在所述sql执行语句中添加预定形式的标识信息;其中,一条所述sql执行语句对应一个所述标识信息;
24、监听模块,用于监听每条所述sql执行语句被运行时的响应时间;
25、确定模块,用于在确定所述响应时间大于预设阈值时,获取相应sql执行语句的标识信息,进而通过所述标识信息,确定所述sql执行语句的位置信息。
26、第三方面,本申请提供一种计算机设备,所述计算机设备包括存储器和至少一个处理器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施前述的执行语句定位方法。
27、第四方面,本申请提供一种计算机存储介质,其存储有计算机程序,所述计算机程序被执行时,实施根据前述的执行语句定位方法。
28、本申请实施例具有如下有益效果:
29、本申请实施例提供了一种执行语句定位方法,该方法包括:调用mybatis框架对应的配置文件中所注册定义的拦截器,拦截所有查询语句;查找到与查询语句对应的sql执行语句,并在sql执行语句中添加预定形式的标识信息;其中,一条sql执行语句对应一个标识信息;监听每条sql执行语句被运行时的响应时间;在确定响应时间大于预设阈值时,获取相应sql执行语句的标识信息,进而通过标识信息,确定sql执行语句的位置信息。本申请实施例通过调用mybatis框架中的拦截器拦截查询语句,以获取实际查询时对应的sql执行语句,并在sql执行语句内添加标识信息,以使得后续在sql执行语句的响应时间大于预设阈值时,可通过该标识信息直接查找到对应的sql执行语句,进而,提高了sql执行语句的查找效率,提高了用户的满意度。
1.一种执行语句定位方法,其特征在于,包括:
2.根据权利要求1所述的执行语句定位方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的执行语句定位方法,其特征在于,所述查找到与所述查询语句对应的sql执行语句,包括:
4.根据权利要求1所述的执行语句定位方法,其特征在于,所述标识信息包括名字域标识号和声明标识号。
5.根据权利要求1或4所述的执行语句定位方法,其特征在于,所述在所述sql执行语句中添加预定形式的标识信息,包括:
6.根据权利要求1所述的执行语句定位方法,其特征在于,在所述监听每条所述sql执行语句被运行时的响应时间之后,还包括:
7.根据权利要求6所述的执行语句定位方法,其特征在于,所述获取相应sql执行语句的标识信息,包括:
8.一种执行语句定位装置,其特征在于,包括:
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和至少一个处理器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施权利要求1-7中任一项所述的执行语句定位方法。
10.一种计算机存储介质,其特征在于,其存储有计算机程序,所述计算机程序被执行时,实施根据权利要求1-7中任一项所述的执行语句定位方法。