[发明专利]一种基于复杂SQL的自动优化方法和装置有效
申请号: | 202011160947.0 | 申请日: | 2020-10-27 |
公开(公告)号: | CN112347120B | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 陈建成;廖阳春;郑广彬 | 申请(专利权)人: | 蜂助手股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453 |
代理公司: | 广州睿金泽专利代理事务所(普通合伙) 44430 | 代理人: | 宋伟文 |
地址: | 510635 广东省广州市天河区龙*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 复杂 sql 自动 优化 方法 装置 | ||
本发明公开一种基于复杂SQL的自动优化方法和装置,方法包括:接收并从中筛选具有优化特征的SQL语句;根据基本规则,检验SQL语句的正确性;对SQL语句遍历所有优化规则,优化SQL语句;输出优化后的SQL语句并记录耗时;生成优化报告,并记录到数据库;其中,优化特征包括:执行出错、影响执行效率、执行顺序有问题、执行耗时长、索引问题导致全表查询、丢失索引、嵌套多级子查询;优化报告包括如下字段:应用程序、数据库类型、SQL语句、执行耗时、问题描述。本发明解决了现有技术中对于复杂SQL语句的开发与维护的复杂度较高、难度较大的问题,达到自动优化与效率监控的效果,提高SQL语句的执行效率。
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种基于复杂SQL的自动化方法和装置。
背景技术
在当前信息时代,效率对各种行业都非常重要,效率对一个企业的发展来说有着决定性的作用。同理,一个管理系统也不例外,作为系统平台不能单靠代码的好坏来判断系统的效率快慢,往往数据库的脚本SQL起到决定性的影响。因而,脚本优化显得极其重要,甚至影响一个系统的好与坏。
现有系统大部分的数据库脚本都交给ORM(对象/关系映射,object-relationa lmapping)框架去管理,典型的ORM框架包括Hibernate,iBATIS,JDO(Java Data Objects)和JPA(Java Persistence API)。确实,框架帮我们简化了很多问题,使得我们可以将精力集中于业务代码的开发。与此同时,使我们忽略了数据库脚本的执行效率问题。一条效率好的SQL语句,无疑在系统中极其重要。
由于目前大部分的系统,有拥有一套ORM框架,正是因为框架使得我们开发起来,简化很多管理JDBC操作。如果直接使用原生的JDBC操作数据库的A PI,需要处理与数据库访问相关的所有事情,包括数据库资源的管理和异常的处理。使用原生JDBC进行一次插入操作的代码的80%都是样板代码,包括获取和关闭数据库链接,SQL语句,异常处理等等。框架帮我们自动生成这部分代码,但是样板代码是在牺牲执行效率的前提下实现样板化,应用程序中出现SQ L语句不规范问题的原因在于,主要是人为因素关系比较大,开发人员都是根据功能决定SQL语句的,并不会深入理解执行原理,如需查询数据库中某个用户的某个信息,一般程序员都直接使用select*from user,目的是达到了,但是并没有考虑执行SQL语句的性能与效率。往往是目的到达了,就忽略内部执行逻辑,从而使开发人员养成一种“依赖”的惰性。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于解决了现有技术中对于复杂SQL语句的开发与维护的复杂度较高、难度较大的问题,达到自动优化与效率监控的效果,提高SQL语句的执行效率。
本专利方案提供一种基于复杂SQL的自动优化方法,包括:
接收并从中筛选具有优化特征的SQL语句;
根据基本规则,检验所述SQL语句的正确性;
对所述SQL语句遍历所有优化规则,优化所述SQL语句;
输出优化后的所述SQL语句并记录耗时;
生成优化报告,并记录到数据库;
其中,所述优化特征包括以下至少一项:执行出错、影响执行效率、执行顺序有问题、执行耗时长、索引问题导致全表查询、丢失索引、嵌套多级子查询;所述优化报告包括如下字段:应用程序、数据库类型、SQL语句、执行耗时、问题描述。
进一步地,所述筛选出具有优化特征的SQL语句,具体包括:
将所述SQL语句发送给SQL Server执行并记录执行耗时,若触发优化特征阀值,则所述SQL语句符合所述优化特征。
进一步地,所述优化规则包括普通优化规则和自定义优化规则。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蜂助手股份有限公司,未经蜂助手股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011160947.0/2.html,转载请声明来源钻瓜专利网。