[发明专利]一种SQL语句处理方法及装置有效
申请号: | 201210361178.X | 申请日: | 2012-09-25 |
公开(公告)号: | CN102915344A | 公开(公告)日: | 2013-02-06 |
发明(设计)人: | 丛磊;王利俊;郑志勇 | 申请(专利权)人: | 新浪网技术(中国)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 语句 处理 方法 装置 | ||
技术领域
本发明涉及数据库技术领域,尤其涉及一种SQL语句处理方法及装置。
背景技术
MySQL是一种关联数据库管理系统,其使用的SQL(Structured Query Language,结构化查询语言)是用于访问数据库的最常用标准化语言。
在现有的MySQL技术中,MySQL Proxy是一个处于客户端和MySQL服务器端之间的一个应用程序,作为中间层代理,负责将前台应用客户端的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡。对于应用客户端来说,MySQL Proxy是完全透明的,应用客户端则只需要连接到MySQL Proxy的监听端口即可。
随着对于海量数据存储和查询的需要,现有技术中出现了公有云计算的分布式数据库集群技术,在实际应用中,经常会有大量应用客户端向数据库集群请求进行一些数据库处理操作,而且,其中还可能包括一些不良的,甚至是恶意的请求操作,导致数据库集群的整体负载较高,降低了进行数据库处理操作的效率,并影响了对其他客户端的正常请求的处理。
然而,将MySQL Proxy引入到数据库集群技术中,也仅是能实现连接控制、读写分离和负载平衡等,而无法对请求进行数据库处理操作的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为本发明实施例1提供的SQL语句处理方法的流程图;
图3为本发明实施例2提供的SQL语句处理方法的流程图;
图4为本发明实施例3提供的SQL语句处理装置的结构示意图。
具体实施方式
为了给出提高数据库运行性能的实现方案,本发明实施例提供了一种SQL语句处理方法及装置,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新浪网技术(中国)有限公司,未经新浪网技术(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210361178.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:终端及其控制方法
- 下一篇:用于检测多阶段事件的方法和设备