CN107609028B - 一种低效率sql语句的确定方法及装置 - Google Patents
一种低效率sql语句的确定方法及装置 Download PDFInfo
- Publication number
- CN107609028B CN107609028B CN201710675591.6A CN201710675591A CN107609028B CN 107609028 B CN107609028 B CN 107609028B CN 201710675591 A CN201710675591 A CN 201710675591A CN 107609028 B CN107609028 B CN 107609028B
- Authority
- CN
- China
- Prior art keywords
- sql statement
- sql
- related information
- execution time
- efficiency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种低效率SQL语句的确定方法及装置,该方法的步骤包括:执行SQL语句;获取执行SQL语句时满足预设条件的相关信息;其中,相关信息包括执行SQL语句所用的执行时间;筛选出执行时间大于阈值的SQL语句作为目标SQL语句。本发明所提供的方法通过设定阈值并将阈值与执行时间进行比较及筛选,进而能够系统的在众多SQL语句中确定执行效率较低的目标SQL语句,并且可以根据与该SQL语句的一系列相关信息进行后续的处理。因此能够快速而准确的确定执行效率较低的目标SQL语句,进而提高了后续对SQL语句优化的效率。此外,低效率SQL语句的确定装置同样具有上述效果。
Description
技术领域
本发明涉及SQL语句设计领域,特别是涉及一种低效率SQL语句的确定方法及装置。
背景技术
随着网络技术的不断发展,网络应用的越来越多样化,随之而来的是网络应用所处理的数据量不断增大。由于用户几乎可以通过应用获取到各类自己所需要的信息数据资源,所以网络应用为人们的生活提供了极大的便利,因此使用网络应用的用户数量也在不断增长。
与用户在应用中的操作对应的是应用后台一系列的SQL语句,因此用户对应用的操作越来越频繁也在考验着SQL语句的执行效率,如果SQL语句的执行效率较低,会导致应用对用户的操作响应慢,进而影响用户的体验感。可见,SQL语句设计的是否合理直接决定了整个应用的性能。因此,需要技术人员对于执行效率较低的SQL语句进行优化,但是技术人员往往很难在众多的SQL语句中准确确定执行效率较低的SQL语句,因此为应用在SQL语句方面的优化增加了难度。
由此可见,提供一种低效率SQL语句确定方法以获取低效率执行的SQL语句,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种低效率SQL语句的确定方法及装置,能够快速而准确的确定执行效率较低的目标SQL语句,进而提高后续对SQL语句优化的效率。
为解决上述技术问题,本发明提供一种低效率SQL语句的确定方法,包括:
执行SQL语句;
获取执行SQL语句时满足预设条件的相关信息;其中,相关信息包括执行SQL语句所用的执行时间;
筛选出执行时间大于阈值的SQL语句作为目标SQL语句。
优选的,预设条件具体为执行时间超过预设值。
优选的,执行SQL语句具体为:
在应用服务器端执行SQL语句。
优选的,在获取执行SQL语句时满足预设条件的相关信息后,该方法进一步包括:
将相关信息写入日志文件。
优选的,该方法进一步包括:
将目标SQL语句写入结果文件。
优选的,相关信息还包括:
调用SQL语句的数据库连接池的信息。
此外,本发明还提供一种低效率SQL语句的确定装置,包括:
语句执行模块,用于执行SQL语句;
信息获取模块,用于获取执行SQL语句时满足预设条件的相关信息;其中,相关信息包括执行SQL语句所用的执行时间;
结果获取模块,用于筛选出执行时间大于阈值的SQL语句作为目标SQL语句。
优选的,该装置进一步包括:
日志记录模块,用于将相关信息写入日志文件。
优选的,该装置进一步包括:
结果写入模块,用于将目标SQL语句写入结果文件。
优选的,信息获取模块的预设条件具体为:
执行时间超过预设值。
本发明所提供的低效率SQL语句的确定方法,通过执行SQL语句后获得与该SQL语句相关的包括有该SQL语句执行的时间的一系列相关信息。可以理解的是,由于执行效率的直接体现方式是执行所使用的时间,因此通过SQL语句的执行时间的长短能够具体清晰的断定每一个执行的SQL语句的执行效率。通过设定阈值并将阈值与执行时间进行比较及筛选,进而能够系统的在众多SQL语句中确定执行效率较低的目标SQL语句,并且可以根据与该SQL语句的一系列相关信息进行后续的处理。因此,本发明所提供的方法,能够快速而准确的确定执行效率较低的目标SQL语句,进而提高了后续对SQL语句优化的效率。此外,本发明还提供一种低效率SQL语句的确定装置,有益效果如上所述。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种低效率SQL语句的确定方法流程图;
图2为本发明实施例提供的另一种低效率SQL语句的确定方法流程图;
图3为本发明实施例提供的一种低效率SQL语句的确定装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种低效率SQL语句的确定方法,能够快速而准确的确定执行效率较低的目标SQL语句,进而提高了后续对SQL语句优化的效率。此外,本发明的核心还提供一种低效率SQL语句的确定装置。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
实施例一
图1为本发明实施例提供的一种低效率SQL语句的确定方法流程图。请参考图1,低效率SQL语句的确定方法的具体步骤包括:
步骤S10:执行SQL语句。
本步骤的目的是通过执行SQL语句,获取SQL语句以及执行SQL语句时所产生的相关信息,是后续步骤的基础。
步骤S11:获取执行SQL语句时满足预设条件的相关信息。
其中,相关信息包括执行SQL语句所用的执行时间。
可以理解的是,由于SQL语句是用来控制数据库执行相应操作的,由于执行SQL语句控制数据库需要一定的时间开销,因此对于SQL语句的设计是否合理,直接影响着执行时的时间开销。本步骤获取包括执行时间在内的SQL语句的相关信息,是为了后续对SQL语句的效率进行评定以及确定效率较低的SQL语句的具体所在位置或使用信息等,所以相关信息应根据对SQL语句的后续分析的内容而具体确定。此外,需要说明的是,预设条件可以根据具体需要而设定,在此不做限定,如预订条件为只用于特定数据库连接池的SQL语句等。
步骤S12:筛选出执行时间大于阈值的SQL语句作为目标SQL语句。
需要说明的是,SQL语句的执行效率直接反映在执行所用的时间上,因此,采用通过设定阈值进行比较的方式确定执行效率低的SQL语句。将所执行的SQL语句的执行时间分别于阈值进行比较,执行时间大于阈值的SQL语句就被作为执行效率较低的目标SQL语句被筛选出来。另外,阈值可以根据实际情况而进行设定,比如将阈值设定为同类型SQL语句的普遍执行时间等。
本发明所提供的低效率SQL语句的确定方法,通过执行SQL语句后获得与该SQL语句相关的包括有该SQL语句执行的时间的一系列相关信息。可以理解的是,由于执行效率的直接体现方式是执行所使用的时间,因此通过SQL语句的执行时间的长短能够具体清晰的断定每一个执行的SQL语句的执行效率。通过设定阈值并将阈值与执行时间进行比较及筛选,进而能够系统的在众多SQL语句中确定执行效率较低的目标SQL语句,并且可以根据与该SQL语句的一系列相关信息进行后续的处理。因此,本发明所提供的方法,能够快速而准确的确定执行效率较低的目标SQL语句,进而提高了后续对SQL语句优化的效率。
实施例二
图2为本发明实施例提供的另一种低效率SQL语句的确定方法流程图。图2中步骤S10-S12与图1相同,在此不再赘述。
如图2所示,作为一种优选的实施方式,在获取执行SQL语句时满足预设条件的相关信息后,该方法进一步包括:
步骤S20:将相关信息写入日志文件。
将相关信息写入日志文件的好处在于,能够对相关信息数据进行保存,避免了因系统断电等突发事件而导致相关信息数据丢失的情况,另外在日志文件中的相关信息数据能够被反复读取,方便本领域技术人员对于相关信息的使用和分析。
如图2所示,作为一种优选的实施方式,该方法进一步包括:
步骤S21:将目标SQL语句写入结果文件。
本步骤中,将获取到的低效率SQL语句写入结果文件,相当于对所有低效率的SQL语句进行了整合,为后续输出结果报告等操作提供了基础,方便技术人员对低效率SQL语句的获取及分析。
在上述实施例的基础上,作为一种优选的实施方式,预设条件具体为执行时间超过预设值。
由于考虑到某些比较大型的应用中需要调用的SQL语句过多,如果获取全部SQL语句执行后的相关信息将会大大增加由此带来的系统开销。因此,如果只获取其中执行时间相对较长的SQL语句的相关信息,则会在获取到低效率SQL语句的同时,减少相应的系统开销。需要说明的是,预设值应为本领域技术人员规定的用于界定低效率SQL语句的粗略值,进而仅在满足预设值的SQL语句相关信息中进行后续的低效率SQL语句的筛选。
另外,作为一种优选的实施方式,执行SQL语句具体为:
在应用服务器端执行SQL语句。
可以理解的是,在应用服务器端执行SQL语句能够最大程度的反映出SQL语句在真实应用场景中的执行效率,使执行后所得到的相关信息更加准确,进而对后续的SQL语句分析更加准确,相应的对应用进行优化能够更加有效。
另外,作为一种优选的实施方式,相关信息还包括:
调用SQL语句的数据库连接池的信息。
由于通过SQL语句的数据库连接池的信息能够确定该SQL语句在程序代码中所在的具体位置,因此能够快速的在代码中定位该SQL语句在代码中的相应位置,进一步缩短了技术人员对应用进行优化时查找SQL语句的时间开销,提高了应用的优化效率。
实施例三
在上文中对于低效率SQL语句的确定方法的实施例进行了详细的描述,本发明还提供一种与该方法对应的低效率SQL语句的确定装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图3为本发明实施例提供的一种低效率SQL语句的确定装置结构图。本发明实施例提供的低效率SQL语句的确定装置,具体包括:
语句执行模块10,用于执行SQL语句。
信息获取模块11,用于获取执行SQL语句时满足预设条件的相关信息;其中,相关信息包括执行SQL语句所用的执行时间。
结果获取模块12,用于筛选出执行时间大于阈值的SQL语句作为目标SQL语句。
本发明所提供的低效率SQL语句的确定装置,通过执行SQL语句后获得与该SQL语句相关的包括有该SQL语句执行的时间的一系列相关信息。可以理解的是,由于执行效率的直接体现方式是执行所使用的时间,因此通过SQL语句的执行时间的长短能够具体清晰的断定每一个执行的SQL语句的执行效率。通过设定阈值并将阈值与执行时间进行比较及筛选,进而能够系统的在众多SQL语句中确定执行效率较低的目标SQL语句,并且可以根据与该SQL语句的一系列相关信息进行后续的处理。因此,本发明所提供的装置,能够快速而准确的确定执行效率较低的目标SQL语句,进而提高了后续对SQL语句优化的效率。
在实施例三的基础上,该装置还包括:
日志记录模块,用于将相关信息写入日志文件。
在实施例三的基础上,该装置还包括:
结果写入模块,用于将目标SQL语句写入结果文件。
在实施例三的基础上,作为一种优选的实施方式,信息获取模块11的预设条件具体为执行时间超过预设值。
以上对本发明所提供的一种低效率SQL语句的确定方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种低效率SQL语句的确定方法,其特征在于,包括:
执行SQL语句;
获取执行所述SQL语句时满足预设条件的相关信息;其中,所述相关信息包括执行所述SQL语句所用的执行时间;
筛选出所述执行时间大于阈值的SQL语句作为执行效率低的目标SQL语句;
其中,该方法进一步包括:
将所述目标SQL语句写入结果文件;
所述阈值为与所述SQL语句同类型SQL语句的普遍执行时间。
2.根据权利要求1所述的方法,其特征在于,所述预设条件具体为所述执行时间超过预设值。
3.根据权利要求1或2所述的方法,其特征在于,所述执行SQL语句具体为:
在应用服务器端执行所述SQL语句。
4.根据权利要求1或2所述的方法,其特征在于,在所述获取执行所述SQL语句时满足预设条件的相关信息后,该方法进一步包括:
将所述相关信息写入日志文件。
5.根据权利要求1或2所述的方法,其特征在于,所述相关信息还包括:
调用所述SQL语句的数据库连接池的信息。
6.一种低效率SQL语句的确定装置,其特征在于,包括:
语句执行模块,用于执行SQL语句;
信息获取模块,用于获取执行所述SQL语句时满足预设条件的相关信息;其中,所述相关信息包括执行所述SQL语句所用的执行时间;
结果获取模块,用于筛选出所述执行时间大于阈值的SQL语句作为执行效率低的目标SQL语句;
其中,该装置进一步包括:
结果写入模块,用于将所述目标SQL语句写入结果文件;
所述阈值为与所述SQL语句同类型SQL语句的普遍执行时间。
7.根据权利要求6所述的装置,其特征在于,该装置进一步包括:
日志记录模块,用于将所述相关信息写入日志文件。
8.根据权利要求6所述的装置,其特征在于,所述信息获取模块的预设条件具体为:
所述执行时间超过预设值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710675591.6A CN107609028B (zh) | 2017-08-09 | 2017-08-09 | 一种低效率sql语句的确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710675591.6A CN107609028B (zh) | 2017-08-09 | 2017-08-09 | 一种低效率sql语句的确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107609028A CN107609028A (zh) | 2018-01-19 |
CN107609028B true CN107609028B (zh) | 2021-10-15 |
Family
ID=61064880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710675591.6A Active CN107609028B (zh) | 2017-08-09 | 2017-08-09 | 一种低效率sql语句的确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107609028B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984612B (zh) * | 2018-06-12 | 2024-02-02 | 中国平安人寿保险股份有限公司 | 目标sql语句的获取方法、装置、计算机设备及存储介质 |
CN109299132B (zh) * | 2018-11-29 | 2021-08-06 | 中国人民财产保险股份有限公司 | Sql数据处理方法、系统以及电子设备 |
CN109947828B (zh) * | 2019-03-15 | 2021-05-25 | 优信拍(北京)信息科技有限公司 | 一种处理报表数据的方法和装置 |
CN112115158A (zh) * | 2020-09-04 | 2020-12-22 | 浪潮电子信息产业股份有限公司 | Sql语句执行时间记录方法、装置、设备及可读存储介质 |
CN112925804B (zh) * | 2021-05-12 | 2021-08-03 | 北京优炫软件股份有限公司 | 数据库维护方法和装置 |
CN112988786B (zh) * | 2021-05-12 | 2022-04-05 | 北京优炫软件股份有限公司 | 数据库维护方法和装置 |
CN114238395A (zh) * | 2022-01-06 | 2022-03-25 | 税友软件集团股份有限公司 | 一种数据库优化方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183614A (zh) * | 2015-11-03 | 2015-12-23 | 华夏银行股份有限公司 | 一种数据库故障预测方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341178B2 (en) * | 2007-09-18 | 2012-12-25 | Oracle International Corporation | SQL performance analyzer |
CN104778185B (zh) * | 2014-01-15 | 2018-01-30 | 中国移动通信集团北京有限公司 | 异常结构化查询语言sql语句确定方法及服务器 |
CN106126403B (zh) * | 2016-06-16 | 2018-10-12 | 北京中亦安图科技股份有限公司 | Oracle数据库故障分析方法和装置 |
CN106844630A (zh) * | 2017-01-20 | 2017-06-13 | 山东中创软件商用中间件股份有限公司 | 一种应用服务器sql日志记录方法及其装置 |
-
2017
- 2017-08-09 CN CN201710675591.6A patent/CN107609028B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183614A (zh) * | 2015-11-03 | 2015-12-23 | 华夏银行股份有限公司 | 一种数据库故障预测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107609028A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107609028B (zh) | 一种低效率sql语句的确定方法及装置 | |
CN107341098B (zh) | 软件性能测试方法、平台、设备及存储介质 | |
KR102201919B1 (ko) | 랜덤 포레스트 모델의 훈련 방법, 전자장치 및 저장매체 | |
CN106293891B (zh) | 多维投资指标监督方法 | |
CN111241059B (zh) | 一种基于数据库的数据库优化方法及装置 | |
CN109582906B (zh) | 数据可靠度的确定方法、装置、设备和存储介质 | |
CN111045902A (zh) | 服务器的压力测试方法及装置 | |
CN109254912A (zh) | 一种自动化测试的方法及装置 | |
CN117271481B (zh) | 数据库自动优化方法及设备 | |
CN113971130A (zh) | 软件性能测试方法、装置、设备及存储介质 | |
CN111435326B (zh) | 一种分析崩溃日志的方法和装置 | |
CN111158926A (zh) | 业务请求分析方法、装置及设备 | |
CN113901021A (zh) | 用于多版本数据库的升级脚本生成方法、装置与电子设备 | |
CN112435045A (zh) | 处理用户反馈信息的方法、装置、存储介质及计算机设备 | |
CN116595044A (zh) | 数据库选择率计算的优化方法、存储介质与设备 | |
CN115129548A (zh) | 一种告警分析方法、装置、设备及介质 | |
CN110674839B (zh) | 异常用户识别方法、装置、存储介质及电子设备 | |
KR102464688B1 (ko) | 모니터링 결과의 이벤트 등급 결정 방법 및 장치 | |
CN113672497B (zh) | 无埋点事件的生成方法、装置、设备及存储介质 | |
CN113360362B (zh) | 一种动态sql效率检查方法及插件 | |
CN115309638A (zh) | 协助模型优化的方法及装置 | |
CN114121038A (zh) | 音响语音测试方法、装置、设备及存储介质 | |
CN113849484A (zh) | 一种大数据组件升级方法、装置、电子设备及存储介质 | |
CN114238395A (zh) | 一种数据库优化方法、装置、电子设备及存储介质 | |
CN113626340A (zh) | 测试需求识别方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |