语句预警方法、装置、设备及计算机可读存储介质与流程

文档序号:18191635发布日期:2019-07-17 05:36阅读:163来源:国知局
语句预警方法、装置、设备及计算机可读存储介质与流程

本发明涉及金融科技(fintech)技术领域,尤其涉及语句预警方法、装置、设备及计算机可读存储介质。



背景技术:

随着金融科技(fintech),尤其是互联网科技金融的不断发展,越来越多的技术应用在金融领域。mysql是目前最流行的关系型数据库管理系统之一,mysql所使用的sql(structuredquerylanguage,结构化查询语言)是用于访问数据库的最常用标准化语言。在使用sql语言查询数据库的过程中,查询响应时间超过指定时间的现象称为慢查询,慢查询会影响数据库和应用系统的性能,严重时会影响应用系统的可用性。

目前为了消除或减少慢查询,一般是在生产数据库中部署监控逻辑,监测是否出现慢查询,发现慢查询后提取慢查询语句,进行优化。这种方式的缺陷在于:1)当监控到异常时,生产库中的慢查询已经形成,已经成型的慢查询往往意味着查询的目标表的数据规模已经发展得比较大,形成大表,而当优化方案涉及到对大表的加索引、加字段、分区等操作时,会伴随较长时间的生产数据库锁表过程,在此期间,对该大表有写操作的业务,均无法正常开展,如此导致慢查询的优化成本较高。2)监控逻辑对生产数据库有查询操作,客观上增加了生产数据库的负载,另外监控逻辑和生产数据库部署在同一物理资源上,也会产生一定的资源争用,影响生产数据库的性能。



技术实现要素:

本发明的主要目的在于提出一种语句预警方法、装置、设备及计算机可读存储介质,旨在在不影响生产数据库性能的前提下,降低慢查询的优化成本。

为实现上述目的,本发明提供一种语句预警方法,所述语句预警方法包括如下步骤:

获取应用程序访问预设生产数据库的结构化查询语句;

获取所述结构化查询语句的执行计划,从所述执行计划中提取出与慢查询相关的预设参数;

判断提取出的所述预设参数是否满足预设的慢查询预警条件;

当所述预设参数满足预设的慢查询预警条件时,将对应的结构化查询语句加入至预设的预警清单中。

优选地,所述获取所述结构化查询语句的执行计划的步骤包括:

对所述结构化查询语句进行聚类处理,其中同一类型下的结构化查询语句的执行计划相同;

分别从各类型下的结构化查询语句中选取一条目标结构化查询语句;

根据所述目标结构化查询语句访问所述生产数据库的容灾数据库,以获得对应类型下的结构化查询语句的执行计划。

优选地,所述预设参数包括查询类型和候选结果数,所述判断提取出的所述预设参数是否满足预设的慢查询预警条件的步骤包括:

判断所述查询类型是否为预设查询类型;

若所述查询类型为预设查询类型,则判断所述候选结果数是否大于或等于第一预设阈值;

若所述候选结果数大于或等于第一预设阈值,则判定所述预设参数满足预设的慢查询预警条件。

优选地,所述判断所述候选结果数是否大于或等于第一预设阈值的步骤之后,还包括:

若所述候选结果数小于所述第一预设阈值,则判断所述候选结果数是否大于第二预设阈值;

若所述候选结果数大于第二预设阈值,则分析与所述结构化查询语句对应的候选结果数的第一历史变化趋势;

判断当前从所述执行计划中提取出的所述候选结果数是否落在与所述第一历史变化趋势对应的第一预设区间内,若是,则判定所述预设参数满足预设的慢查询预警条件;

或者,计算当前从所述执行计划中提取出的所述候选结果数在第一预设历史时长内的第一增量值;

判断所述第一增量值是否大于或等于第一预设增量值,若是,则判定所述预设参数满足预设的慢查询预警条件。

优选地,所述对所述结构化查询语句进行聚类处理的步骤之后,还包括:

分别统计各类型下的结构化查询语句的执行次数,并分析各类型下结构化查询语句的执行次数的第二历史变化趋势;

判断统计的所述执行次数是否落在与所述第二历史变化趋势对应的第二预设区间内,若是,则将对应的结构化查询语句加入至所述预警清单中;

或者,计算统计的所述执行次数在第二预设历史时长内的第二增量值;

判断所述第二增量值是否大于或等于第二预设增量值,若是,则将对应的结构化查询语句加入至所述预警清单中。

优选地,所述预设参数包括排序模式,所述将对应的结构化查询语句加入至预设的预警清单中的步骤之后,还包括:

获取所述预警清单中的结构化查询语句的排序模式;

判断获取到的所述排序模式是否为预设的排序模式;

若获取到的所述排序模式为预设的排序模式,则在所述预警清单中添加需检视排序模式的提示信息。

优选地,所述将对应的结构化查询语句加入至预设的预警清单中的步骤之后,还包括:

将所述预警清单发送至前端页面进行展示。

此外,为实现上述目的,本发明还提供一种语句预警装置,所述语句预警装置包括:

第一获取模块,用于获取应用程序访问预设生产数据库的结构化查询语句;

提取模块,用于获取所述结构化查询语句的执行计划,从所述执行计划中提取出与慢查询相关的预设参数;

第一判断模块,用于判断提取出的所述预设参数是否满足预设的慢查询预警条件;

加入模块,用于当所述预设参数满足预设的慢查询预警条件时,将对应的结构化查询语句加入至预设的预警清单中。

优选地,所述提取模块还包括:

聚类单元,用于对所述结构化查询语句进行聚类处理,其中同一类型下的结构化查询语句对应的执行计划相同;

选取单元,用于分别从各类型的结构化查询语句中选取一条目标结构化查询语句;

访问单元,用于根据所述目标结构化查询语句访问所述生产数据库的容灾数据库,以获得与各类型的结构化查询语句对应的执行计划。

优选地,所述预设参数包括查询类型和候选结果数,所述第一判断模块还用于:

判断所述查询类型是否为预设查询类型;

若所述查询类型为预设查询类型,则判断所述候选结果数是否大于或等于第一预设阈值;

若所述候选结果数大于或等于第一预设阈值,则判定所述预设参数满足预设的慢查询预警条件。

优选地,所述第一判断模块还用于:

若所述候选结果数小于所述第一预设阈值,则判断所述候选结果数是否大于第二预设阈值;

若所述候选结果数大于第二预设阈值,则分析与所述结构化查询语句对应的候选结果数的第一历史变化趋势;

判断当前从所述执行计划中提取出的所述候选结果数是否落在与所述第一历史变化趋势对应的第一预设区间内,若是,则判定所述预设参数满足预设的慢查询预警条件;

或者,计算当前从所述执行计划中提取出的所述候选结果数在第一预设历史时长内的第一增量值;

判断所述第一增量值是否大于或等于第一预设增量值,若是,则判定所述预设参数满足预设的慢查询预警条件。

优选地,所述语句预警装置还包括:

统计分析模块,用于分别统计各类型下结构化查询语句的执行次数,并分析各类型下结构化查询语句的执行次数的第二历史变化趋势;

所述第一判断模块,还用于判断统计的所述执行次数是否落在与所述第二历史变化趋势对应的第二预设区间内,若是,则将对应的结构化查询语句加入至所述预警清单中;

或者,计算统计的所述执行次数在第二预设历史时长内的第二增量值;判断所述第二增量值是否大于或等于第二预设增量值,若是,则将对应的结构化查询语句加入至所述预警清单中。

优选地,所述预设参数包括排序模式,所述语句预警装置还包括:

第二获取模块,用于获取所述预警清单中的结构化查询语句对应的排序模式;

第二判断模块,用于判断获取到的所述排序模式是否为预设的排序模式;添加模块,用于若获取到的所述排序模式为预设的排序模式,则在所述预警清单中天添加需检视排序模式的提示信息。

优选地,所述语句预警装置还包括:

展示模块,用于将所述预警清单发送至前端页面进行展示。

此外,为实现上述目的,本发明还提供一种语句预警设备,所述语句预警设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的语句预警程序,所述语句预警程序被所述处理器执行时实现如上所述的语句预警方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有语句预警程序,所述语句预警程序被处理器执行时实现如上所述的语句预警方法的步骤。

本发明获取应用程序访问预设生产数据库的结构化查询语句;获取所述结构化查询语句的执行计划,从所述执行计划中提取出与慢查询相关的预设参数;判断提取出的所述预设参数是否满足预设的慢查询预警条件;当所述预设参数满足预设的慢查询预警条件时,将对应的结构化查询语句加入至预设的预警清单中。本发明相比于现有技术中在慢查询形成后再对慢查询进行优化的方式,实现了在慢查询形成前,对有可能形成慢查询的语句进行预警,此时目标表一般数据规模较小,尚未发展成大表,因而可以用较低的成本实现优化;此外,本发明只需要分析语句的执行计划,不会在生产数据库进行任何参数采集,不影响生产数据库的性能。从而本发明实现了在不影响生产数据库性能的前提下,降低慢查询的优化成本。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;

图2为本发明语句预警方法第一实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。

本发明实施例语句预警设备可以是pc机或服务器设备。

如图1所示,该语句预警设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及语句预警程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的语句预警程序,并执行下述语句预警方法各个实施例中的操作。

基于上述硬件结构,提出本发明语句预警方法实施例。

参照图2,图2为本发明语句预警方法第一实施例的流程示意图,所述方法包括:

步骤s10,获取应用程序访问预设生产数据库的结构化查询语句;

在本实施例中,语句特指用结构化查询语言sql构成的数据库操作语句,用于存取数据以及查询、更新和管理关系数据库系统。本实施例语句预警方法应用于语句预警设备,该语句预警设备可以是应用程序的后台服务器,即应用服务器,当然,为不占用应用服务器资源,该语句预警设备也可以是独立于应用服务器之外的预警服务器。本实施例以语句预警设备为独立于应用服务器之外的预警服务器为例进行说明。

在本实施例中,应用程序通过结构化查询语句访问生产数据库,该生产数据库即业务实际使用的数据库,具体实施时,预警服务器可以向应用服务器发送基于应用程序访问预设生产数据库的结构化查询语句的获取请求,以使应用服务器接收到请求后,在应用程序中捕获相应的结构化查询语句并返回给预警服务器。

需要说明的是,当语句预警设备为应用服务器时,应用服务器直接在应用程序中捕获相应的结构化查询语句。

步骤s20,获取所述结构化查询语句的执行计划,从所述执行计划中提取出与慢查询相关的预设参数;

该步骤中,预警服务器获取上述结构化查询语句的执行计划,然后从该执行计划中提取出与慢查询相关的预设参数。其中,执行计划指的是结构化查询语句在数据库中被物理性执行的计划,其由若干操作组成,包括全表扫描、使用索引、嵌套循环、表连接等。慢查询指的是在使用sql语言查询数据库的过程中,查询响应时间超过指定时间的现象,可以通过优化执行计划来提升语句的响应速度,消除慢查询。与慢查询相关的预设参数为预设的实际中可能对查询速度、查询效率产生影响的参数,其包括但不限于查询类型、候选结果数、排序模式等,具体实施时可以根据实际生产中的慢查询故障经验灵活设置。

在一实施方式中,所述获取所述结构化查询语句的执行计划的步骤可以包括:对所述结构化查询语句进行聚类处理,其中同一类型下的结构化查询语句的执行计划相同;分别从各类型下的结构化查询语句中选取一条目标结构化查询语句;根据所述目标结构化查询语句访问所述生产数据库的容灾数据库,以获得对应类型下的结构化查询语句的执行计划。

具体地,可以首先对获取到的结构化查询语句进行聚类处理,其中同一类型下的结构化查询语句的执行计划是相同的,具体的聚类规则可以根据实际业务情况灵活设置,包括但不限于将包含姓名查询字段的语句分为一类,将包含年龄查询的语句分为另一类等。

然后,分别从各类型下的结构化查询语句中选取一条目标结构化查询语句,其中选取为随机选取,或者选取排在最前面的语句;之后,根据选取的目标结构化查询语句访问生产数据的容灾数据库,其中容灾数据库为部署在异地的,与生产数据库一模一样的数据库,当生产数据库所处的地理位置发生自然灾害而导致生产数据库发生灾难时,容灾数据库会立马顶替工作,当容灾数据库接收到目标结构化查询语句时,即为该目标结构化查询语句匹配对应的执行计划并返回给预警设备,由于同一类型下的结构化查询语句的执行计划是相同的,因此预警设备此时可以获得各类型下的所有结构化查询语句的执行计划。

上述通过对结构化查询语句进行聚类后获取执行计划的方式,实现了执行计划的批量获取,提高了执行计划的获取效率,而从生产数据库的容灾数据库获取执行计划,不会占用生产数据库的资源,因而不会对生产数据库的性能产生任何影响。

需要说明的是,具体实施时也可以不对结构化查询语句进行聚类处理,而是分别获取与每条结构化查询语句对应的执行计划,然后从获取到的执行计划中提取出与慢查询相关的预设参数;另外,如果实际中没有部署容灾数据库,则也可以从生产数据库中直接获取结构化查询语句的执行计划,此时会占用一些生产数据库的资源,具体的实施方案可以根据实际情况灵活选择。

步骤s30,判断提取出的所述预设参数是否满足预设的慢查询预警条件;

在从执行计划中提取出与慢查询相关的预设参数后,判断提取出的预设参数是否满足预设的慢查询预警条件。

其中,预设参数可以包括查询类型和候选结果数,此时判断提取出的所述预设参数是否满足预设的慢查询预警条件的步骤包括:判断所述查询类型是否为预设查询类型;若所述查询类型为预设查询类型,则判断所述候选结果数是否大于或等于第一预设阈值;若所述候选结果数大于或等于第一预设阈值,则判定所述预设参数满足预设的慢查询预警条件。

具体实施时,可以将实际经验中产生慢查询的概率较高的语句对应的查询类型作为预设查询类型,比如,根据实际生产经验,“all”(全表扫描)、“range”(以范围的形式扫描)、“index”(按索引次序扫描,先读索引,再读实际的行)这些查询类型对应的语句产生慢查询的概率较高,因此可以将这些查询类型作为预设查询类型。当提取出的查询类型为“all”、“range”或“index”时,进一步判断提取出的候选结果数是否大于或等于第一预设阈值,其中候选结果数反映了结构化查询语言查询的目标表的数据规模,第一预设阈值为危险阈值,具体实施时可以灵活设置;若候选结果数大于或等于第一预设阈值,说明当前的结构化查询语句极有可能产生慢查询,此时可以判定预设参数,即查询类型和候选结果数满足预设的慢查询预警条件,由此实现了对慢查询的准确预警。

当然,具体实施时还可以设置其他预设参数及其对应的慢查询预警条件,比如当预设参数为排序模式时,如果执行计划中的排序模式为预设的排序模式,则满足预设的慢查询预警条件,也可以进行慢查询预警。

当所述预设参数满足预设的慢查询预警条件时,执行步骤s40,将对应的结构化查询语句加入至预设的预警清单中。

该步骤中,当预设参数满足预设的慢查询预警条件时,即将对应的结构化查询语句加入至预设的预警清单中。

进一步地,在步骤s40之后,还可以包括:将所述预警清单发送至前端页面进行展示。如此便于运维人员及时做出相应的慢查询优化处理。

本实施例相比于现有技术中在慢查询形成后再对慢查询进行优化的方式,实现了在慢查询形成前,对有可能形成慢查询的语句进行预警,此时目标表一般数据规模较小,尚未发展成大表,因而可以用较低的成本实现优化;此外,本实施例只需要分析语句的执行计划,不会在生产数据库进行任何参数采集,不影响生产数据库的性能。从而本实施例实现了在不影响生产数据库性能的前提下,降低慢查询的优化成本。

进一步地,基于本发明语句预警方法第一实施例,提出本发明语句预警方法第二实施例。

在本实施例中,所述判断所述候选结果数是否大于或等于第一预设阈值的步骤之后,还可以包括:

若所述候选结果数小于所述第一预设阈值,则判断所述候选结果数是否大于第二预设阈值;

若所述候选结果数大于第二预设阈值,则分析与所述结构化查询语句对应的候选结果数的第一历史变化趋势;判断当前从所述执行计划中提取出的所述候选结果数是否落在与所述第一历史变化趋势对应的第一预设区间内,若是,则判定所述预设参数满足预设的慢查询预警条件;

或者,计算当前从所述执行计划中提取出的所述候选结果数在第一预设历史时长内的第一增量值;判断所述第一增量值是否大于或等于第一预设增量值,若是,则判定所述预设参数满足预设的慢查询预警条件。

具体地,若候选结果数小于第一预设阈值,则判断其是否大于第二预设阈值,若是,则认为有一定的概率产生慢查询,此时可以采用如下两种方式进一步判断是否需要进行预警:

(1)分析与结构化查询语句对应的候选结果数的第一历史变化趋势,具体实施时,可以提取预先保存在历史记录中的与当前结构化查询语句对应的候选结果数,然后利用数学上的切比雪夫定理进行趋势分析,判断当前从所述执行计划中提取出的所述候选结果数是否落在与该第一历史变化趋势对应的第一预设区间内,若是,则说明对应的语句有较大的概率产生慢查询,此时判定所述预设参数满足预设的慢查询预警条件。

其中,切比雪夫定理的大意是:任意一个数据集中,位于其平均数m个标准差范围内的比例(或部分)总是至少为1-1/m2,其中m为大于1的任意正数。对于m=2,m=3和m=5有如下结果:所有数据中,至少有3/4(或75%)的数据位于平均数2个标准差范围内。所有数据中,至少有8/9(或88.9%)的数据位于平均数3个标准差范围内。所有数据中,至少有24/25(或96%)的数据位于平均数5个标准差范围内。

在本实施例中,上述第一预设区间可以灵活设置,比如,当当前从所述执行计划中提取出的所述候选结果数大于历史候选结果数的均值加两倍标准差时,可以判定所述预设参数满足预设的慢查询预警条件。

(2)计算当前从所述执行计划中提取出的所述候选结果数在第一预设历史时长内的第一增量值;判断所述第一增量值是否大于或等于第一预设增量值,若是,则说明对应的语句有较大的概率产生慢查询,此时判定所述预设参数满足预设的慢查询预警条件。

其中,第一预设历史时长和第一增量值均可灵活设置,比如,如果当前从所述执行计划中提取出的所述候选结果数相对于上个月候选结果数均值的增量值大于1万,则可以判定所述预设参数满足预设的慢查询预警条件。

本实施例通过结合历史候选结果数分析当前的候选结果数,进而判断是否满足预设的慢查询预警条件,实现了对可能产生慢查询的语句进行进一步的预警分析,提高了慢查询预警的全面性。

进一步地,基于本发明语句预警方法第一实施例,提出本发明语句预警方法第三实施例。

在本实施例中,所述对所述结构化查询语句进行聚类处理的步骤之后,还可以包括:

分别统计各类型下的结构化查询语句的执行次数,并分析各类型下结构化查询语句的执行次数的第二历史变化趋势;判断统计的所述执行次数是否落在与所述第二历史变化趋势对应的第二预设区间内,若是,则将对应的结构化查询语句加入至所述预警清单中;

或者,计算统计的所述执行次数在第二预设历史时长内的第二增量值;判断所述第二增量值是否大于或等于第二预设增量值,若是,则将对应的结构化查询语句加入至所述预警清单中。

具体地,在对获取到的结构化查询语句进行聚类之后,可以通过下面两种方式筛选出需要预警的语句:

(1)分别统计各类型下的结构化查询语句的执行次数,比如查询姓名类型的语句下的结构化查询语句的执行次数为1000次,查询年龄类型的语句下的结构化查询语句的执行次数为500次;然后分析各类型下结构化查询语句的执行次数的第二历史变化趋势,具体实施时,可以提取预先保存在历史记录中的各类型下的结构化查询语句的执行次数,然后利用数学上的切比雪夫定理进行趋势分析,判断当前统计的所述执行次数是否落在与所述第二历史变化趋势对应的第二预设区间内,若是,则说明对应的语句有较大的概率产生慢查询,此时将对应的结构化查询语句加入至所述预警清单中。

在本实施例中,上述第二预设区间可以灵活设置,比如,当当前统计的执行次数大于历史执行次数的均值加两倍标准差时,可以将对应的结构化查询语句加入至所述预警清单中。

(2)计算统计的所述执行次数在第二预设历史时长内的第二增量值;判断所述第二增量值是否大于或等于第二预设增量值,若是,则说明对应的语句有较大的概率产生慢查询,此时将对应的结构化查询语句加入至所述预警清单中。

其中,第二预设历史时长和第二增量值均可灵活设置,比如,如果当前统计的执行次数相对于上个月执行次数的增量值大于1万,则可以将对应的结构化查询语句加入至所述预警清单中。

本实施例通过结合历史语句执行次数分析当前的语句执行次数,进而判断是否满足预设的慢查询预警条件,实现了对可能产生慢查询的语句进行进一步的预警分析,提高了慢查询预警的全面性。

进一步地,基于本发明语句预警方法第一、第二、第三实施例,提出本发明语句预警方法第四实施例。

在本实施例中,与慢查询相关的预设参数包括排序模式,对应上述步骤s40之后,还可以包括:获取所述预警清单中的结构化查询语句的排序模式;判断获取到的所述排序模式是否为预设的排序模式;若获取到的所述排序模式为预设的排序模式,则在所述预警清单中添加需检视排序模式的提示信息。

在本实施例中,考虑到某些排序模式排序效率较低,有较大的概率产生慢查询,因此,对于已经加入预警清单中的结构化查询语句,可以进一步获取其排序模式,如果排序模式为预设的排序模式,则在预警清单中追加说明需检视排序模式,以提示运维人员对排序模式进行优化。其中,预设的排序模式包括但不限于“usingfilesort”(文件排序)、“usingtemprorary”(临时表)等。通过这种方式,可以提高排序效率。

本发明还提供一种语句预警装置。所述语句预警装置包括:

第一获取模块,用于获取应用程序访问预设生产数据库的结构化查询语句;

提取模块,用于获取所述结构化查询语句的执行计划,从所述执行计划中提取出与慢查询相关的预设参数;

第一判断模块,用于判断提取出的所述预设参数是否满足预设的慢查询预警条件;

加入模块,用于当所述预设参数满足预设的慢查询预警条件时,将对应的结构化查询语句加入至预设的预警清单中。

进一步地,所述提取模块还包括:

聚类单元,用于对所述结构化查询语句进行聚类处理,其中同一类型下的结构化查询语句对应的执行计划相同;

选取单元,用于分别从各类型的结构化查询语句中选取一条目标结构化查询语句;

访问单元,用于根据所述目标结构化查询语句访问所述生产数据库的容灾数据库,以获得与各类型的结构化查询语句对应的执行计划。

进一步地,所述预设参数包括查询类型和候选结果数,所述第一判断模块还用于:

判断所述查询类型是否为预设查询类型;

若所述查询类型为预设查询类型,则判断所述候选结果数是否大于或等于第一预设阈值;

若所述候选结果数大于或等于第一预设阈值,则判定所述预设参数满足预设的慢查询预警条件。

进一步地,所述第一判断模块还用于:

若所述候选结果数小于所述第一预设阈值,则判断所述候选结果数是否大于第二预设阈值;

若所述候选结果数大于第二预设阈值,则分析与所述结构化查询语句对应的候选结果数的第一历史变化趋势;

判断当前从所述执行计划中提取出的所述候选结果数是否落在与所述第一历史变化趋势对应的第一预设区间内,若是,则判定所述预设参数满足预设的慢查询预警条件;

或者,计算当前从所述执行计划中提取出的所述候选结果数在第一预设历史时长内的第一增量值;

判断所述第一增量值是否大于或等于第一预设增量值,若是,则判定所述预设参数满足预设的慢查询预警条件。

进一步地,所述语句预警装置还包括:

统计分析模块,用于分别统计各类型下结构化查询语句的执行次数,并分析各类型下结构化查询语句的执行次数的第二历史变化趋势;

所述第一判断模块,还用于判断统计的所述执行次数是否落在与所述第二历史变化趋势对应的第二预设区间内,若是,则将对应的结构化查询语句加入至所述预警清单中;

或者,计算统计的所述执行次数在第二预设历史时长内的第二增量值;判断所述第二增量值是否大于或等于第二预设增量值,若是,则将对应的结构化查询语句加入至所述预警清单中。

进一步地,所述预设参数包括排序模式,所述语句预警装置还包括:

第二获取模块,用于获取所述预警清单中的结构化查询语句对应的排序模式;

第二判断模块,用于判断获取到的所述排序模式是否为预设的排序模式;添加模块,用于若获取到的所述排序模式为预设的排序模式,则在所述预警清单中天添加需检视排序模式的提示信息。

进一步地,所述语句预警装置还包括:

展示模块,用于将所述预警清单发送至前端页面进行展示。

本发明还提供一种计算机可读存储介质。

本发明计算机可读存储介质上存储有语句预警程序,所述语句预警程序被处理器执行时实现如上所述的语句预警方法的步骤。

其中,在所述处理器上运行的语句预警程序被执行时所实现的方法可参照本发明语句预警方法各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1