SQL语句执行时间记录方法、装置、设备及可读存储介质制造方法及图纸

技术编号:26790902 阅读:33 留言:0更新日期:2020-12-22 17:06
本申请公开了一种SQL语句执行时间记录方法、装置、设备及可读存储介质。本申请公开的方法包括:获取正在对Sybase数据库执行SQL语句的至少一个客户端的标识信息;判断标识信息是否记录于任一个监控列表中;若否,则将标识信息添加至目标监控列表,并利用目标监控列表对应的监控线程轮询客户端,若轮询到客户端正在对Sybase数据库执行目标SQL语句,则按照预设策略记录目标SQL语句的执行时间。若数据库整体性能降低,则技术人员可以基于记录的这些执行时间找出导致数据库整体性能降低的SQL语句,然后优化相应SQL语句,以提高数据库性能。相应地,本申请提供的一种SQL语句执行时间记录装置、设备及可读存储介质,也同样具有上述技术效果。

【技术实现步骤摘要】
SQL语句执行时间记录方法、装置、设备及可读存储介质
本申请涉及计算机
,特别涉及一种SQL语句执行时间记录方法、装置、设备及可读存储介质。
技术介绍
目前,在众多客户端同时对Sybase数据库执行SQL语句的过程中,可能会由于并发数过大和/或个别SQL语句执行缓慢,导致数据库整体性能降低。但由于Sybase数据库没有记录SQL语句执行信息的相关功能,因此无法及时找出导致数据库性能降低的SQL语句。因此,如何记录客户端对Sybase数据库执行SQL语句的相关信息,是本领域技术人员需要解决的问题。
技术实现思路
有鉴于此,本申请的目的在于提供一种SQL语句执行时间记录方法、装置、设备及可读存储介质,以记录客户端对Sybase数据库执行SQL语句的相关信息。其具体方案如下:第一方面,本申请提供了一种SQL语句执行时间记录方法,包括:获取正在对Sybase数据库执行SQL语句的至少一个客户端的标识信息;判断所述标识信息是否记录于任一个监控列表中;若否,则将所述标识信息添加至目标监控列表,并利用所述目标监控列表对应的监控线程轮询所述客户端,若轮询到所述客户端正在对所述Sybase数据库执行目标SQL语句,则按照预设策略记录所述目标SQL语句的执行时间。优选地,所述获取正在对Sybase数据库执行SQL语句的至少一个客户端的标识信息,包括:利用调度线程以预设周期获取正在对Sybase数据库执行SQL语句的所有客户端的标识信息,获得标识信息列表。<br>优选地,所述判断所述标识信息是否记录于任一个监控列表中,包括:判断所述标识信息列表中的任一个标识信息是否记录于任一个监控列表中。优选地,所述将所述标识信息添加至目标监控列表,包括:从多个监控列表中选择信息量最少的监控列表作为所述目标监控列表,并将所述标识信息添加至所述目标监控列表的尾部。优选地,所述若轮询到所述客户端正在对所述Sybase数据库执行目标SQL语句,则按照预设策略记录所述目标SQL语句的执行时间,包括:若首次轮询到所述客户端正在对所述Sybase数据库执行所述目标SQL语句,则记录所述目标SQL语句的执行时间为0;若再次轮询到所述客户端正在对所述Sybase数据库执行所述目标SQL语句,则将所述执行时间递增一个轮询周期;若再次未轮询到所述客户端正在对所述Sybase数据库执行所述目标SQL语句,则将当前执行时间、所述标识信息以及所述目标SQL语句记录至日志。优选地,还包括:若首次未轮询到所述客户端正在对所述Sybase数据库执行所述目标SQL语句,则删除所述目标监控列表中的所述标识信息。优选地,所述任一个监控列表中记录有被监控的客户端的标识信息。优选地,若再次未轮询到所述客户端正在对所述Sybase数据库执行所述目标SQL语句,但轮询到所述客户端正在对所述Sybase数据库执行其他SQL语句,则将当前执行时间、所述标识信息以及所述目标SQL语句记录至日志,同时记录所述其他SQL语句的执行时间。第二方面,本申请提供了一种SQL语句执行时间记录装置,包括:获取模块,用于获取正在对Sybase数据库执行SQL语句的至少一个客户端的标识信息;判断模块,用于判断所述标识信息是否记录于任一个监控列表中;记录模块,用于若所述标识信息未记录于任一个监控列表中,则将所述标识信息添加至目标监控列表,并利用所述目标监控列表对应的监控线程轮询所述客户端,若轮询到所述客户端正在对所述Sybase数据库执行目标SQL语句,则按照预设策略记录所述目标SQL语句的执行时间。第三方面,本申请提供了一种SQL语句执行时间记录设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序,以实现前述公开的SQL语句执行时间记录方法。第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的SQL语句执行时间记录方法。通过以上方案可知,本申请提供了一种SQL语句执行时间记录方法,包括:获取正在对Sybase数据库执行SQL语句的至少一个客户端的标识信息;判断所述标识信息是否记录于任一个监控列表中;若否,则将所述标识信息添加至目标监控列表,并利用所述目标监控列表对应的监控线程轮询所述客户端,若轮询到所述客户端正在对所述Sybase数据库执行目标SQL语句,则按照预设策略记录所述目标SQL语句的执行时间。可见,本申请在获取到正在对Sybase数据库执行SQL语句的至少一个客户端的标识信息后,判断标识信息是否记录于任一个监控列表中;若否,则表明当前获取到的客户端没有被监控,则将标识信息添加至目标监控列表,并利用目标监控列表对应的监控线程轮询客户端,若轮询到客户端正在对Sybase数据库执行目标SQL语句,则按照预设策略记录目标SQL语句的执行时间。如此可记录到客户端正在对Sybase数据库执行的SQL语句的执行时间,若众多客户端同时对Sybase数据库执行SQL语句,导致数据库整体性能降低,则技术人员可以基于记录的这些执行时间找出导致数据库整体性能降低的SQL语句,然后优化相应SQL语句,以避免此情况的频繁发生,从而提高数据库性能。相应地,本申请提供的一种SQL语句执行时间记录装置、设备及可读存储介质,也同样具有上述技术效果。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请公开的一种SQL语句执行时间记录方法流程图;图2为本申请公开的一种调度线程的具体执行步骤示意图;图3为本申请公开的一种监控线程的具体执行步骤示意图;图4为本申请公开的一种SQL语句执行时间记录装置示意图;图5为本申请公开的一种SQL语句执行时间记录设备示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。目前,Sybase数据库没有记录SQL语句执行信息的相关功能,因此无法及时找出导致数据库性能降低的SQL语句。为此,本申请提供了一种SQL语句执行时间记录方案,能够记录客户端对Sybase数据库执行SQL语句的相关信息,为筛选有问题的SQL语句提供帮助。参见图1所示,本申请实施例公开了一种SQL语句执行时间记录方法,包括:S101、获取正在对Sybase数据库执行SQL语句的至少一个客户端的标识信息。需本文档来自技高网...

【技术保护点】
1.一种SQL语句执行时间记录方法,其特征在于,包括:/n获取正在对Sybase数据库执行SQL语句的至少一个客户端的标识信息;/n判断所述标识信息是否记录于任一个监控列表中;/n若否,则将所述标识信息添加至目标监控列表,并利用所述目标监控列表对应的监控线程轮询所述客户端,若轮询到所述客户端正在对所述Sybase数据库执行目标SQL语句,则按照预设策略记录所述目标SQL语句的执行时间。/n

【技术特征摘要】
1.一种SQL语句执行时间记录方法,其特征在于,包括:
获取正在对Sybase数据库执行SQL语句的至少一个客户端的标识信息;
判断所述标识信息是否记录于任一个监控列表中;
若否,则将所述标识信息添加至目标监控列表,并利用所述目标监控列表对应的监控线程轮询所述客户端,若轮询到所述客户端正在对所述Sybase数据库执行目标SQL语句,则按照预设策略记录所述目标SQL语句的执行时间。


2.根据权利要求1所述的SQL语句执行时间记录方法,其特征在于,所述获取正在对Sybase数据库执行SQL语句的至少一个客户端的标识信息,包括:
利用调度线程以预设周期获取正在对Sybase数据库执行SQL语句的所有客户端的标识信息,获得标识信息列表。


3.根据权利要求2所述的SQL语句执行时间记录方法,其特征在于,所述判断所述标识信息是否记录于任一个监控列表中,包括:
判断所述标识信息列表中的任一个标识信息是否记录于任一个监控列表中。


4.根据权利要求1所述的SQL语句执行时间记录方法,其特征在于,所述将所述标识信息添加至目标监控列表,包括:
从多个监控列表中选择信息量最少的监控列表作为所述目标监控列表,并将所述标识信息添加至所述目标监控列表的尾部。


5.根据权利要求1所述的SQL语句执行时间记录方法,其特征在于,所述若轮询到所述客户端正在对所述Sybase数据库执行目标SQL语句,则按照预设策略记录所述目标SQL语句的执行时间,包括:
若首次轮询到所述客户端正在对所述Sybase数据库执行所述目标SQL语句,则记录所述目标SQL语句的执行时间为0;
若再次轮询到所述客户端正在对所述Sybase数据库执行所述目标SQL语句,则将所述执行时间递增一个轮询周...

【专利技术属性】
技术研发人员:朱滕波
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

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

1