[发明专利]一种数据库代码的检查装置和方法在审
申请号: | 201611218287.0 | 申请日: | 2016-12-26 |
公开(公告)号: | CN106844497A | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 程文星 | 申请(专利权)人: | 努比亚技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F11/36 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 韩辉峰,李丹 |
地址: | 518000 广东省深圳市南山区高新区北环大道9018*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 代码 检查 装置 方法 | ||
技术领域
本发明涉及网络数据库技术领域,尤指一种数据库代码的检查装置和方法。
背景技术
结构化查询语言(Structured Query Language,SQL)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库系统,现有的关系型数据库包括Oracle、DB2、SQL Server、Sybase、MySQL等。
随着关系型数据库应用的日益广泛,越来越多的数据需要存储及访问。数据库索引好比是一本书前面的目录,如果合理设置索引,能加快数据库的查询速度;如果没有设置索引或索引设置不合理,则会降低数据库的查询效率,而且,当数据库的数据访问量达到几十万甚至更多时,就会出现数据库的瓶颈问题,严重的可能造成数据库资源耗尽,造成系统应用崩溃。
因此,在系统应用开发过程中,如何检测开发代码中的数据库是否设置了合理的表索引,进而对开发人员进行预警,具有非常重要的实际意义。
发明内容
为了解决上述技术问题,本发明提供了一种数据库代码的检查装置和方法,能够及时检测开发代码中的数据库是否设置了合理的表索引。
为了达到本发明目的,本发明实施例的技术方案是这样实现的:
一种数据库代码的检查装置,包括日志模块和分析模块,其中,
日志模块,用于开启数据库的日志,拉取数据库的日志文件并复制到备份文件中;
分析模块,用于对备份文件中的语句进行索引分析,得到数据库中没有设置索引或索引设置不合理的数据表。
进一步地,本发明实施例的数据库代码的检查装置,还包括过滤模块,其中,
过滤模块,用于使用预先设定的规则,对备份文件中的语句进行过滤;
所述分析模块,用于对所述备份文件中过滤后的语句进行索引分析,得到数据库中没有设置索引或索引设置不合理的数据表。
进一步地,所述预先设定的规则包括:不需要检查的数据表、表数据量的检查阈值、调用频率阈值或无需检查的语句中的至少一种。
进一步地,本发明实施例的数据库代码的检查装置,还包括统计模块,其中,
所述分析模块,还用于将所述没有设置索引或索引设置不合理的数据表输出至统计模块;
统计模块,用于对所述没有设置索引或索引设置不合理的数据表,按照预设的属性进行统计。
进一步地,所述预设的属性包括:表使用频率、表数据量或是否慢查询属性中的至少一种。
一种数据库代码的检查方法,包括:
开启数据库的日志,拉取数据库的日志文件并复制到备份文件中;
对备份文件中的语句进行索引分析,得到数据库中没有设置索引或索引设置不合理的数据表。
进一步地,本发明实施例的数据库代码的检查方法,还包括:在对备份文件中的语句进行索引分析前,使用预先设定的规则,对备份文件中的语句进行过滤。
进一步地,所述预先设定的规则,包括不需要检查的数据表、表数据量的检查阈值、调用频率阈值或无需检查的语句中的至少一种。
进一步地,本发明实施例的数据库代码的检查方法,还包括:对所述没有设置索引或索引设置不合理的数据表,按照预设的属性进行统计。
进一步地,所述预设的属性包括表使用频率、表数据量或是否慢查询属性中的至少一种。
本发明提供的数据库代码的检查装置和方法,基于现有的数据库日志和索引分析技术,通过拉取数据库日志,对数据库日志中的SQL语句进行索引分析,检测开发代码中的数据库是否设置了合理的表索引;
进一步地,本发明中通过预先设定的规则对数据库日志中的SQL语句进行过滤,灵活控制了检测范围,减少了误判断的情况;
进一步地,在需要时,本发明对索引分析的结果进行进一步统计,对项目开发人员进行预警,降低了故障风险。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的数据库代码的检查装置的第一实施例的结构示意图;
图2为本发明的数据库代码的检查装置的第二实施例的结构示意图;
图3为本发明的数据库代码的检查装置的第三实施例的结构示意图;
图4为本发明的数据库代码的检查方法的第一实施例的流程示意图;
图5为本发明的数据库代码的检查方法的第二实施例的流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611218287.0/2.html,转载请声明来源钻瓜专利网。