首页> 中国专利> 确定SQL语句对关键业务的性能的影响的方法、系统和设备

确定SQL语句对关键业务的性能的影响的方法、系统和设备

摘要

本发明提供了一种确定SQL语句对关键业务的性能的影响的方法、系统和设备。其中的方法包括:对关键业务进行分析,确定关键业务的各个业务模块所对应的SQL语句以及相应的SQL语句执行信息,确定并更新所述SQL语句执行信息的标准范围值;从生产数据库中实时采集与所确定的SQL语句相应的SQL语句执行信息;将所采集的SQL语句执行信息与所述SQL语句执行信息的标准范围值进行比对,确定所述SQL语句对关键业务的性能的影响。应用本发明可以确定关键业务所对应的SQL语句的执行是否影响关键业务的性能。

著录项

  • 公开/公告号CN103186603A

    专利类型发明专利

  • 公开/公告日2013-07-03

    原文格式PDF

  • 申请/专利权人 中国移动通信集团浙江有限公司;

    申请/专利号CN201110455493.4

  • 发明设计人 王晓征;肖爱元;

    申请日2011-12-29

  • 分类号G06F17/30(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人王一斌;王琦

  • 地址 310006 浙江省杭州市环城北路288号1609室

  • 入库时间 2024-02-19 18:48:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-04-27

    授权

    授权

  • 2013-07-31

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20111229

    实质审查的生效

  • 2013-07-03

    公开

    公开

说明书

技术领域

本发明涉及数据库处理技术领域,尤其涉及一种确定SQL语句对关键业 务的性能的影响的方法、系统和设备。

背景技术

在现有的数据库系统中,一般都是使用结构化查询语言(SQL)语句进 行相应的数据查询,从而完成相应的业务。对于一些比较敏感的业务而言, 如果所执行的SQL语句的执行效率低下、响应时间过长,则可能导致数据库 的性能下降,从而无法满足业务处理能力要求,造成业务服务阻塞,使得终 端用户具有明显的感知或业务感知。因此,可将这类敏感的业务称之为关键 业务。

为了提高关键业务的性能,在关键业务的SQL语句实际执行之前,可以 对该SQL语句进行检测,分析该SQL语句的执行计划,以判断该SQL语句 是否会对关键业务的性能造成不利的影响。但是,由于对关键业务的性能造 成不利影响的因素比较多,所以一般比较难以判断某个SQL语句是否对关键 业务的性能造成了不利影响。例如:

1)关键业务的SQL语句的响应时间即使发生微秒级的变化,也有可能 对关键业务产生不利影响或阻塞业务,但此时从数据库层面上却很可能难以 发现性能异常。譬如:当关键业务的SQL语句的响应时间由1秒变成2秒时, 从数据库层面一般并不能发现性能异常;然而,由于该SQL语句的响应时间 增加了1秒,因此很可能对关键业务的性能造成了不利影响。

2)SQL语句执行计划的错误也将会使得该进程消耗大量CPU的计算 资源、内存的存储空间或IO,导致数据库的响应时间较长,前台查询速度比 较缓慢,从而对关键业务的性能造成了不利影响。

3)数据库中存在的大量行锁也可能影响关键业务SQL语句所操作的对 象,从而可能使得数据库的整体响应时间过长,从而对关键业务的性能造成 了不利影响。

为了解决关键业务性能影响的判断问题,目前主要是采用如下方式:

1、由于目前没有比较直观的方法去分析和判断影响关键业务性能的各种 因素,因此只能通过业务感知或业务影响来反映关键业务的性能。

2、数据库管理员(DBA)可使用数据库性能监控工具,确定占用大量 资源或持有锁的会话(SESSION),抓取所确定的SESSION执行的SQL语 句,并确认该SQL语句是否对关键业务的性能造成了不利影响。

但是,上述两种方式中还存在如下所述的问题:

1)当关键业务的性能受到影响时,往往都是在应用层出现业务受理缓慢 等现象时,DBA才通过监控工具检查该数据库的性能,从数据库中抓取消耗 资源的SQL语句,并与应用层确认该SQL语句是否属于该关键业务。整个 处理过程时间过长,因此不能快速确定某个SQL语句是否属于关键业务,从 而严重影响前台业务,造成故障时间过长。

2)当关键业务的性能受到影响时,DBA通常不能第一时间获知,往往 都是由应用维护人员或开发人员发现业务感知或是业务处理受到影响,然后 再报告给DBA。此时,数据库中已经有部分SQL语句大量消耗了系统资源 或在等待锁,从而使得大面积的业务受到影响,因而不能有效、快速地发现 关键业务的性能问题。

发明内容

有鉴于此,本发明提供了一种确定SQL语句对关键业务的性能的影响的 方法、系统和设备,从而可确定关键业务所对应的SQL语句的执行是否影响 关键业务的性能。

本发明采用的技术方案具体是这样实现的:

一种确定SQL语句对关键业务的性能的影响的方法,该方法包括:

A、对关键业务进行分析,确定关键业务的各个业务模块所对应的SQL语 句以及相应的SQL语句执行信息,确定并更新所述SQL语句执行信息的标准范 围值;

B、从生产数据库中实时采集与所确定的SQL语句相应的SQL语句执行信 息;

C、将所采集的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语句相应的SQL语句执行信息, 将所采集的SQL语句执行信息发送给所述存储模块;

所述存储模块,用于存储所采集的SQL语句执行信息和SQL语句执行信息 的标准范围值,将所采集的SQL语句执行信息和SQL语句执行信息的标准范围 值发送给所述SQL语句分析模块;

所述SQL语句分析模块,用于将所接收到的SQL语句执行信息与所接 收到的SQL语句执行信息的标准范围值进行比对,确定所述SQL语句对关 键业务的性能的影响。

由上述技术方案可见,本发明中由于可先确定关键业务的各个业务模块 所对应的SQL语句以及相应的SQL语句执行信息,然后将从生产数据库中 实时采集与所确定的SQL语句相应的SQL语句执行信息与预先确定的SQL 语句执行信息的标准范围值进行比对,确定所述SQL语句对关键业务的性能 的影响,从而可以有效地确定关键业务所对应的SQL语句的执行是否影响关 键业务的性能。

附图说明

图1是本发明中确定SQL语句对关键业务的性能的影响的方法流程图。

图2为本发明中确定并更新所述SQL语句执行信息的标准范围值的方法 流程图。

图3为本发明中更新所述SQL语句执行信息的标准范围值的方法流程 图。

图4为本发明中确定SQL语句对关键业务的性能的影响的系统的结构示 意图。

图5为本发明中关键业务定义装置的结构示意图。

图6为本发明中SQL执行计划装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附 图及具体实施例对本发明再作进一步详细的说明。

图1是本发明中确定SQL语句对关键业务的性能的影响的方法流程图。

如图1所示,该方法包括:

步骤101,对关键业务进行分析,确定关键业务的各个业务模块所对应 的SQL语句以及相应的SQL语句执行信息,确定并更新所述SQL语句执行 信息的标准范围值。

由于关键业务一般都多个业务模块组成,每个业务模块所对应的SQL语 句也不尽相同。因此,在本发明的具体实施例中,可首先对关键业务进行分 析,预先确定关键业务的各个业务模块所对应的SQL语句,然后再确定与所 述SQL语句相对应的SQL语句执行信息。

在本发明的具体实施例中,所述SQL语句执行信息可以包括:SQL执 行成本(COST)、SQL执行频率和SQL响应时间。

其中,所述SQL执行成本是对SQL语句在执行时所占用的资源的一种 预计,例如,对执行SQL语句所需占用的CPU与IO等相关资源的估计;所 述SQL执行频率是SQL语句的执行次数;所述SQL响应时间是指完成SQL 语句的执行所需的时间。

在本步骤中,在确定了相应的SQL语句执行信息后,还将确定并更新所 述SQL语句执行信息的标准范围值(即SQL语句执行信息在正常情况下的 范围值)。其中,所述SQL语句执行信息的标准范围值可包括:SQL执行成 本标准范围值、SQL执行频率标准范围值和SQL响应时间标准范围值。

在本发明的具体实施例中,所述确定并更新所述SQL语句执行信息的标 准范围值包括:

确定所述SQL语句执行信息的标准范围值;并根据实时采集的与所述 SQL语句执行信息相对应的SQL语句执行信息快照,更新所述SQL语句执 行信息的标准范围值。

在本发明的具体实施例中,也可以通过多种方式来确定并更新所述SQL 语句执行信息的标准范围值。以下将以其中的一种实现方式为例进行比较详 细地介绍。

图2为本发明中确定并更新所述SQL语句执行信息的标准范围值的方法 流程图。如图2所示,所述方法包括:

步骤201,预先设置并存储所述SQL语句执行信息的标准范围值的初始 值;将所述SQL语句执行信息的标准范围值的初始值作为当前SQL语句执 行信息的标准范围值。

具体来说,在本步骤中,首先可预先设置所述SQL语句执行信息的标准 范围值的初始值,并将所述SQL语句执行信息的标准范围值的初始值存储在 本地数据库中。此时,可将所述SQL语句执行信息的标准范围值的初始值作 为当前SQL语句执行信息的标准范围值。

步骤202,在预定的采集周期内从生产数据库中实时采集并存储与所述 SQL语句执行信息相对应的SQL语句执行信息快照。

在本发明的具体实施例中,所述采集周期的长度可以预先设置。例如, 可将采集周期的长度设置为n天;其中,n为自然数,例如,n=7。在预定 的采集周期中,还可设置m个采集时间点,分别对应于采集周期中的每一天 中的m个确定的时间点。例如,采集周期中的第1个采集时间点,为采集周 期中的每一天中的0点0分;第2个采集时间点,为采集周期中的每一天中 的0点10分;第3个采集时间点,为采集周期中的每一天中的0点20分;......, 依次类推。上述m的数值可以预先设置。此外,相邻采集时间点之间的时间 间隔可以相同,也可以不相同。

在本步骤中,可在预定的采集周期内从生成数据库中实时采集并存储每 个采集时间点上的与所述SQL语句执行信息相对应的SQL语句执行信息快 照。其中,所述SQL语句执行信息快照为:一个确定时间点上的SQL语句 执行信息。在本发明的具体实施例中,所述SQL语句执行信息快照可以包括: 一个确定时间点上的SQL执行成本、SQL执行频率和SQL响应时间。

步骤203,在采集周期结束时,根据当前SQL语句执行信息的标准范围 值和在该采集周期内所采集到的SQL语句执行信息快照,更新所述当前SQL 语句执行信息的标准范围值。

在本发明的具体实施例中,可以通过多种实现方式来实现上述的步骤 203。以下将以其中的一种实现方式为例进行比较详细地介绍。

图3为本发明中更新所述SQL语句执行信息的标准范围值的方法流程 图。如图3所示,所述方法包括:

步骤301,在采集周期结束时,计算各个采集时间点的SQL平均响应时 间。

由于一个采集周期为n天,且一个采集周期内有m个采集时间点,因此, 一共将采集到(m×n)个SQL语句执行信息快照;其中,对于每一个采集 时间点,都有n个采集到的SQL语句执行信息快照,每个SQL语句执行信 息快照中都有一个SQL响应时间,因此,可以根据上述采集到的SQL语句 执行信息快照,确定各个采集时间点的SQL平均响应时间。

举例来说,所述计算各个采集时间点的SQL平均响应时间包括:

对在同一个采集时间点上采集到的各个SQL语句执行信息快照中的 SQL响应时间计算算术平均值,将所述算术平均值作为该采集时间点的SQL 平均响应时间。

例如,对于每一个采集时间点,都有n个采集到的SQL语句执行信息快 照,因此,可以先计算所述n个采集到的SQL语句执行信息快照中的SQL 响应时间的总和,再将该总和除以n,即可得到该采集时间点的SQL平均响 应时间。

此外,在本发明的具体实施例中,在计算算术平均值之前,还可先去除 在同一个采集时间点上所采集到的各个SQL语句执行信息快照中的SQL响 应时间中数值最大的SQL响应时间和数值最小的SQL响应时间,从而排除 特殊情况下的SQL响应时间,使所得到的SQL平均响应时间更接近于实际 情况中的SQL响应时间。

步骤302,根据当前SQL语句执行信息的标准范围值以及各个采集时间 点的SQL平均响应时间,将各个采集时间点分为闲时响应时间点和忙时响应 时间点。

举例来说,当采集时间点的SQL平均响应时间位于当前的SQL语句执 行信息的标准范围值中的SQL响应时间标准范围值之内时,则将该采集时间 点定义为闲时响应时间点;

当采集时间点的SQL平均响应时间位于当前的SQL语句执行信息的标 准范围值中的SQL响应时间标准范围值之外时,则将该采集时间点定义为忙 时响应时间点。

其中,在本发明的具体实施例中,当完成第一次更新SQL响应时间标准 范围值之前,所述当前SQL语句执行信息的标准范围值中的SQL响应时间 标准范围值为SQL语句执行信息的标准范围值的初始值中的SQL响应时间 标准范围值;当SQL响应时间标准范围值更新之后,所述当前SQL语句执 行信息的标准范围值中的SQL响应时间标准范围值为更新后的SQL响应时 间标准范围值。

步骤303,根据所有闲时响应时间点的SQL平均响应时间,确定闲时SQL 标准响应时间范围值;根据所有忙时响应时间点的SQL平均响应时间,确定 忙时SQL标准响应时间范围值。

举例来说,所述根据所有闲时响应时间点的SQL平均响应时间,确定闲 时SQL标准响应时间范围值包括:

将所有闲时响应时间点的最小SQL平均响应时间作为闲时SQL标准响 应时间范围值的最小值;将所有闲时响应时间点的最大SQL平均响应时间作 为闲时SQL标准响应时间范围值的最大值。

所述根据所有忙时响应时间点的SQL平均响应时间,确定忙时SQL标 准响应时间范围值包括:

将所有忙时响应时间点的最小SQL平均响应时间作为忙时SQL标准响 应时间范围值的最小值;将所有忙时响应时间点的最大SQL平均响应时间作 为忙时SQL标准响应时间范围值的最大值。

步骤304,根据闲时SQL标准响应时间范围值和忙时SQL标准响应时 间范围值,更新当前SQL响应时间标准范围值。

上述更新当前SQL响应时间标准范围值的方式可以有多种。举例来说, 所述根据闲时SQL标准响应时间范围值和忙时SQL标准响应时间范围值, 更新当前SQL响应时间标准范围值包括:

计算闲时SQL标准响应时间范围值的最小值与忙时SQL标准响应时间 范围值的最小值的平均值,将该平均值作为更新后的当前SQL响应时间标准 范围值的最小值;

计算闲时SQL标准响应时间范围值的最大值与忙时SQL标准响应时间 范围值的最大值的平均值,将该平均值作为更新后的当前SQL响应时间标准 范围值的最大值。

通过上述的步骤301~304,即可实现所述SQL语句执行信息的标准范 围值的更新。

步骤102,从生产数据库中实时采集与所确定的SQL语句相应的SQL 语句执行信息。

在本步骤中,可根据步骤101中所确定的关键业务的各个业务模块所对 应的SQL语句,从生产数据库中实时采集与所确定的SQL语句相应的SQL 语句执行信息。

进一步地,在采集所述SQL语句执行信息中的SQL执行成本时,可以 不直接采集SQL执行成本,而是先采集SQL执行成本相关信息,再根据所 采集的SQL执行成本相关信息计算SQL执行成本。

例如,所述SQL执行成本相关信息可以包括:

单块读的次数(记为SRds);多块读的次数(记作MRds);需要调用 CPU的周期数(记作CPUCycles);单块读的时间(记作sreadtim);多块 读的时间(记作mreadtim);CPU每秒的周期数(记作cpuspeed)。

此时,所述根据所采集的SQL执行成本相关信息计算SQL执行成本包 括:通过如下所述公式计算SQL执行成本(记为SqlCost)。

SqlCost=

(SRds*sreadtim+MRds*mreadtim+CPUcycles/cpuspeed)/sreadtime.

此外,在本发明的具体实施例中,还可在开始从生产数据库中采集所述 SQL语句执行信息时,启动一个预设时长(例如,30秒)的定时器。由于在 正常情况下,采集操作将在预设时长内完成。因此,当定时器超时时,如果 仍未采集到所需的SQL语句执行信息,将可认为所述生产数据库发生了异常 或该生产数据库的性能很差,从而可发出相应的报警信息。

步骤103,将所采集的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语句是否影响关键业务的性能的的 方法应用于所述判断SQL语句是否影响关键业务的性能的系统之上。

图4为本发明中确定SQL语句对关键业务的性能的影响的系统的结构示 意图。如图4所示,所述确定SQL语句对关键业务的性能的影响的系统400 包括:关键业务定义装置401和SQL执行计划装置402。

其中,所述关键业务定义装置401,用于对关键业务进行分析,确定关 键业务的各个业务模块所对应的SQL语句以及相应的SQL语句执行信息, 确定并更新所述SQL语句执行信息的标准范围值;将所确定的SQL语句以 及相应的SQL语句执行信息和所述SQL语句执行信息的标准范围值发送给 所述SQL执行计划装置402;

所述SQL执行计划装置402,用于从生产数据库中实时采集与所确定的 SQL语句相应的SQL语句执行信息;将所采集的SQL语句执行信息和所述 SQL语句执行信息的标准范围值进行比对,确定所述SQL语句对关键业务的 性能的影响。

此外,在本发明的具体实施中,所述关键业务定义装置确定并更新所述 SQL语句执行信息的标准范围值为:

所述关键业务定义装置,还可用于预先设置并存储所述SQL语句执行信 息的标准范围值的初始值,将所述SQL语句执行信息的标准范围值的初始值 作为当前SQL语句执行信息的标准范围值;在预定的采集周期内从生产数据 库中实时采集并存储与所述SQL语句执行信息相对应的SQL语句执行信息 快照;在采集周期结束时,根据当前SQL语句执行信息的标准范围值和在该 采集周期内所采集到的SQL语句执行信息快照,更新所述当前SQL语句执 行信息的标准范围值。

在本发明的具体实施例中,所述关键业务定义装置的结构组成可以是多 种多样的,以下将以其中的一种结构组成为例进行说明。

图5为本发明中关键业务定义装置的结构示意图。如图5所示,所述关 键业务定义装置500包括:关键业务定义模块501、关键业务性能采集模块 502、关键业务分析模块503和本地数据库504。其中:

所述关键业务定义模块501,用于对关键业务进行分析,确定关键业务 的各个业务模块所对应的SQL语句以及相应的SQL语句执行信息,将所确 定的SQL语句以及相应的SQL语句执行信息发送给所述关键业务性能采集 模块502和SQL执行计划装置;还用于预先设置所述SQL语句执行信息的 标准范围值的初始值,将所述SQL语句执行信息的标准范围值的初始值作为 当前SQL语句执行信息的标准范围值;将当前SQL语句执行信息的标准范 围值发送给本地数据库504;

所述关键业务性能采集模块502,用于在预定的采集周期内从生产数据 库中实时采集并存储与所述SQL语句执行信息相对应的SQL语句执行信息 快照;将采集到的SQL语句执行信息快照发送给所述关键业务分析模块503;

所述关键业务分析模块503,用于在采集周期结束时,根据从本地数据 库中获取的当前SQL语句执行信息的标准范围值和在该采集周期内所采集 到的SQL语句执行信息快照,更新所述当前SQL语句执行信息的标准范围 值,并将更新后的当前SQL语句执行信息的标准范围值发送给所述本地数据 库和所述SQL执行计划装置;

所述本地数据库504,用于存储SQL语句执行信息的标准范围值的初始 值,并存储所接收到的更新后的当前SQL语句执行信息的标准范围值。

在本发明的具体实施例中,所述SQL执行计划装置的结构组成也可以是 多种多样的,以下将以其中的一种结构组成为例进行说明。

图6为本发明中SQL执行计划装置的结构示意图。如图6所示,所述 SQL执行计划装置600包括:SQL语句采集模块601、SQL语句分析模块602 和存储模块603。其中:

所述SQL语句采集模块601,用于接收SQL语句以及相应的SQL语句 执行信息,并从生产数据库中实时采集与所接收的SQL语句相应的SQL语 句执行信息,将所采集的SQL语句执行信息发送给所述存储模块603;

所述存储模块603,用于存储所采集的SQL语句执行信息,接收并存储 SQL语句执行信息的标准范围值,将所述SQL语句执行信息的标准范围值和 所采集的SQL语句执行信息发送给所述SQL语句分析模块602;

所述SQL语句分析模块602,用于将所接收到的SQL语句执行信息与 所接收到的SQL语句执行信息的标准范围值进行比对,确定所述SQL语句 对关键业务的性能的影响。

综上所述,在本发明的技术方案中,由于可先确定关键业务的各个业务 模块所对应的SQL语句以及相应的SQL语句执行信息,然后将从生产数据 库中实时采集与所确定的SQL语句相应的SQL语句执行信息与预先确定的 SQL语句执行信息的标准范围值进行比对,确定所述SQL语句对关键业务的 性能的影响,从而可以有效地确定关键业务所对应的SQL语句的执行是否影 响关键业务的性能。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号