[发明专利]查询语句处理方法及装置在审
申请号: | 201710985953.1 | 申请日: | 2017-10-20 |
公开(公告)号: | CN107748782A | 公开(公告)日: | 2018-03-02 |
发明(设计)人: | 郭赫曦 | 申请(专利权)人: | 北京小度信息科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 广州三环专利商标代理有限公司44202 | 代理人: | 郝传鑫 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查询 语句 处理 方法 装置 | ||
技术领域
本发明实施例涉及数据库领域,尤其涉及一种查询语句处理方法及装置。
背景技术
数据库技术已得到广泛应用,在大数据量面前,SQL(Structured Query Language,结构化查询语言)语句不合理则会导致执行时间过长而造成慢查询。慢查询因过多地消耗CPU或者I/O(输入/输出)会导致整个数据库响应变慢,短连接场景下还可能引起耗尽连接数。主流数据库例如MySql都已经支持慢查询日志功能,可以检测到所有数据库操作记录。当执行时间大于设定阈值时,就会将执行SQL语句等信息记录保存到文件中。
分析慢查询日志的目的就在于找出导致慢查询的SQL语句,修复它们以避免进一步造成的数据库性能损失。分析慢查询的方法一般都是首先人为地设置执行耗时阈值,高于执行耗时阈值的SQL语句执行日志才被记录下来,再通过解析日志文件,从中得到需要的信息再进行来加以判断。
发明内容
发明人在对现有技术的研究中发现,在查询语句的处理方面,现有技术没有将处理过程自动化导致技术人员面对的日志数据量依然过于庞大,技术人员对数据库运行维护的复杂性依旧存在;再者,现有技术只关注超过执行耗时阈值的慢查询,数据全面性存疑,故而存在隐患;此外,只对线上生成系统的慢查询做预警,然而线上的慢查询在分析发现时性能的损害也已经造成,导致发现问题的成本过大。
针对上述部分或全部缺陷,本发明实施例提供一种查询语句处理方法及装置。下面分别进行说明。
第一方面,本发明实施例中提供了一种查询语句处理方法,所述方法包括:
解析执行耗时未超过设定阈值的查询语句得到解析结果;
基于所述解析结果判断所述解析结果是否满足风险判决条件;
如果所述解析结果满足所述风险判决条件,则将所述查询语句确定为风险查询语句。
结合第一方面,本发明在第一方面的第一种实现方式中,所述方法还包括:
基于线上生产环境数据和线下测试环境在线下运行数据库,得到待分析的查询日志;
解析所述待分析的查询日志得到所述查询语句和/或慢查询语句。
结合第一方面,本发明在第一方面的第二种实现方式中,所述风险判决条件为:
所述解析结果包含以下任意一者或多者:
表示所述查询语句引起全表扫描的第一要素、表示所述查询语句应该使用索引而未使用索引的第二要素、表示所述单条语句使用了临时表的第三要素、表示所述查询语句的检索行数超过设定阈值的第四要素。
结合第一方面、第一方面的第一种实现方式或第一方面的第二种实现方式,本发明在第一方面的第三种实现方式中,还包括:对所述风险查询语句进行抽象处理;
根据所述抽象处理的结果对所述风险查询语句进行分类处理。
结合第一方面的第一种实现方式,本发明在第一方面的第四种实现方式中,还包括:
对所述慢查询语句和/或所述风险查询语句进行抽象处理;
根据所述抽象处理的结果对所述慢查询语句和/或所述风险查询语句进行分类处理。
第二方面,本发明实施例提供了一种查询语句处理装置,包括:
语句解析模块,用于解析执行耗时未超过设定阈值的查询语句得到解析结果;
风险判断模块,用于基于所述解析结果判断所述解析结果是否满足风险判决条件;
风险确定模块,用于在所述解析结果满足所述风险判决条件时,将所述查询语句确定为风险查询语句。
结合第二方面,本发明在第二方面的第一种实现方式中,所述装置还包括:
日志获取模块,用于基于线上生产环境数据和线下测试环境在线下运行数据库,得到待分析的查询日志。
日志解析模块,用于解析所述待分析的查询日志得到所述查询语句和/或慢查询语句。
结合第二方面,本发明在第二方面的第二种实现方式中,所述风险判决条件为:
所述解析结果包含以下任意一者或多者:
表示所述查询语句引起全表扫描的第一要素、表示所述查询语句应该使用索引而未使用索引的第二要素、表示所述单条语句使用了临时表的第三要素、表示所述查询语句的检索行数超过设定阈值的第四要素。
结合第二方面、第二方面的第一种实现方式或第二方面的第二种实现方式,本发明在第二方面的第三种实现方式中,还包括:
第一抽象模块,用于对所述风险查询语句进行抽象处理;
第一分类模块,用于根据所述抽象处理的结果对所述风险查询语句进行分类处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小度信息科技有限公司,未经北京小度信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710985953.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于不确定数据的约束频繁闭项集挖掘算法
- 下一篇:汽车保险丝控制盒