[发明专利]确定SQL语句对关键业务的性能的影响的方法、系统和设备有效
申请号: | 201110455493.4 | 申请日: | 2011-12-29 |
公开(公告)号: | CN103186603A | 公开(公告)日: | 2013-07-03 |
发明(设计)人: | 王晓征;肖爱元 | 申请(专利权)人: | 中国移动通信集团浙江有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王一斌;王琦 |
地址: | 310006 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 确定 sql 语句 关键 业务 性能 影响 方法 系统 设备 | ||
技术领域
本发明涉及数据库处理技术领域,尤其涉及一种确定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语句对关键业务的性能的影响。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团浙江有限公司,未经中国移动通信集团浙江有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110455493.4/2.html,转载请声明来源钻瓜专利网。