CN108595721A - 一种sql优化系统及自动化sql优化方法 - Google Patents
一种sql优化系统及自动化sql优化方法 Download PDFInfo
- Publication number
- CN108595721A CN108595721A CN201810864995.4A CN201810864995A CN108595721A CN 108595721 A CN108595721 A CN 108595721A CN 201810864995 A CN201810864995 A CN 201810864995A CN 108595721 A CN108595721 A CN 108595721A
- Authority
- CN
- China
- Prior art keywords
- sql
- optimization
- sql statement
- module
- performance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种SQL优化系统,包括XML扫描模块、添加数据库索引模块和优化SQL语句模块,添加数据库索引模块与XML扫描模块及优化SQL语句模块相连;XML扫描模块用于扫描XML中的SQL语句、测试SQL语句的时间性能并提取出性能不达标的SQL语句;添加数据库索引模块用于连接相关数据库为性能时间不达标的SQL语句添加数据库索引及对添加数据库索引后的SQL语句再做性能时间测试并将仍不达标的SQL语句记录下来;优化SQL语句模块用于对添加数据库索引模块记录的仍不达标的SQL语句进行SQL规范修改使索引生效,并展示优化后数据库信息。本发明的SQL优化系统利用XML自动化扫描方法,从而实现有效的自动化优化数据库设计和sql语句,实现快速优化。
Description
技术领域
本发明涉及SQL优化技术领域,特别涉及一种SQL优化系统及自动化SQL优化方法。
背景技术
传统的SQL优化需要特定开发人员逐条查看SQL语句,分析SQL语句是否合理,分析数据库性能设计是否达标,它有明显的缺点比如:
(1)优化效率低:一个项目中有几千上万条SQL语句,几百上千张数据库表,通过人工来逐条分析优化,效率很慢;
(2)代码维护难:设计数据库、写SQL和优化SQL的开发人员不同,就算有完整的文档资料,新人也很难接手维护;
(3)优化不灵活:任何数据库框架修改必须重新优化,这个过程往往很长;
(4)稳定性不高:人逐条优化很容易疏忽出现问题。
发明内容
本发明的目的是克服上述背景技术中不足,提供一种SQL优化系统及自动化SQL优化方法,采用自动化优化SQL系统,利用XML自动化扫描方法,从而实现有效的自动化优化数据库设计和sql语句,实现快速优化。
为了达到上述的技术效果,本发明采取以下技术方案:
一种SQL优化系统,包括XML扫描模块、添加数据库索引模块和优化SQL语句模块,所述添加数据库索引模块分别与XML扫描模块及优化SQL语句模块相连;所述XML扫描模块用于扫描XML中的SQL语句、测试SQL语句的时间性能并提取出性能不达标的SQL语句;所述添加数据库索引模块用于自动连接相关数据库并为性能时间不达标的SQL语句添加数据库索引以及对添加数据库索引后的SQL语句再次做性能时间测试并将仍然不达标的SQL语句记录下来;所述优化SQL语句模块用于对添加数据库索引模块记录的仍然不达标的SQL语句进行SQL规范修改从而使索引生效,并展示优化后数据库信息;
本发明的SQL优化系统主要包含具体包括XML扫描模块、添加数据库索引模块和优化SQL语句模块,其中XML扫描模块主要进行SQL的XML文件扫描功能,检查出SQL性能缺陷,添加数据库索引模块主要为数据库添加索引优化查询速度,优化SQL语句模块主要修改不规范的SQL语句,让所有索引能正常进行;且该SQL优化系统与业务代码相独立,该系统通过导入业务代码中SQL的XML文件,自动扫描XML文件中所有SQL语句,并对语句进行规范修改,同时连接数据库,根据XML文件中的SQL语句来为数据库特定表添加索引,从而实现SQL性能优化。
进一步地,所述XML扫描模块内预存有合格性能时间标准。
同时,本发明还公开了一种自动化SQL优化方法,包含上述的SQL优化系统,且具体包含以下步骤:
A.通过XML扫描模块自动化扫描所有SQL语句,并测试SQL语句运行性能,将性能较差的SQL语句提取出来;
B.添加数据库索引模块对步骤A提取出来的SQL语句进行索引优化,为其表添加索引并测试SQL语句性能,提取性能不达标的SQL语句;
C.优化SQL语句模块对步骤B提取出来的SQL语句进行修改,具体修改使索引失效的语句;
D.通过优化SQL语句模块展示系统优化信息。
进一步地,所述步骤D中展示系统优化信息时具体是展示SQL语句中被修改语句数目和添加索引数目以及优化前后性能的对比结果。
进一步地,所述XML扫描模块内预存有合格性能时间标准。
本发明与现有技术相比,具有以下的有益效果:
本发明的SQL优化系统及自动化SQL优化方法,采用自动化优化SQL系统,利用XML自动化扫描方法,从而实现有效的自动化优化数据库设计和SQL语句,实现快速优化,且该SQL优化系统与业务代码相独立,该系统通过导入业务代码中SQL的XML文件,自动扫描XML文件中所有SQL语句,并对语句进行规范修改,同时连接数据库,根据XML文件中的SQL语句来为数据库特定表添加索引,从而实现SQL性能优化。
附图说明
图1是本发明的SQL优化系统的工作流程示意图。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
实施例一:
如图1所示,一种自动化SQL优化系统,它主要包含具体包括XML扫描模块、添加数据库索引模块和优化SQL语句模块。
其中XML扫描模块主要进行SQL的XML文件扫描功能,检查出SQL性能缺陷,添加数据库索引模块主要为数据库添加索引优化查询速度,优化SQL语句模块主要修改不规范的SQL语句,让所有索引能正常进行。
具体的,工作时,在XML扫描模块先将SQL的XML文件导入XML扫描模块,XML扫描模块会将所有SQL语句扫描出来;XML扫描模块再对每条SQL语句进行性能测试,并记录性能时间。
本实施例中,在XML扫描模块内预存有合格性能时间标准,XML扫描模块测试SQL语句的时间性能时会将性能时间不达标的语句会记录下来。
添加数据库索引模块则主要通过配置自动连接相关数据库,并为性能时间不达标的语句添加相关数据库索引,然后再次做性能时间测试,将不达标的语句记录下来。
优化SQL语句模块则主要是对添加索引后效率不达标的语句进行SQL规范修改,从而使索引生效,并展示优化后数据库信息和时间效率。
实施例二
一种自动化SQL优化方法,基于上述自动化SQL优化系统,主要利用XML扫描方法自动优化SQL,其实现方法包含以下步骤:
步骤一、XML扫描模块自动化扫描所有SQL,并测试SQL运行性能,将性能较差的SQL提取出来;
步骤二、添加数据库索引模块对步骤一提取出来的SQL进行索引优化,为其表添加索引并测试SQL性能,将性能仍然较差的SQL提取出来;
步骤三、优化SQL语句模块对步骤二提取出来的SQL语句进行修改,修改使索引实效的语句,从而提升SQL性能;
步骤四、优化SQL语句模块展示系统优化信息,具体展示SQL被修改语句数目和添加索引数目,展示SQL优化前后性能对比。
综上可知,本发明的自动化SQL优化系统与业务代码相独立,该系统通过导入业务代码中SQL的XML文件,自动扫描XML文件中所有SQL语句,并对语句进行规范修改,同时连接数据库,根据XML文件中的SQL语句来为数据库特定表添加索引,从而实现SQL性能优化。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (5)
1.一种SQL优化系统,其特征在于,包括XML扫描模块、添加数据库索引模块和优化SQL语句模块,所述添加数据库索引模块分别与XML扫描模块及优化SQL语句模块相连;
所述XML扫描模块用于扫描XML中的SQL语句、测试SQL语句的时间性能并提取出性能不达标的SQL语句;
所述添加数据库索引模块用于自动连接相关数据库并为性能时间不达标的SQL语句添加数据库索引以及对添加数据库索引后的SQL语句再次做性能时间测试并将仍然不达标的SQL语句记录下来;
所述优化SQL语句模块用于对添加数据库索引模块记录的仍然不达标的SQL语句进行SQL规范修改从而使索引生效,并展示优化后数据库信息。
2.根据权利要求1所述的一种SQL优化系统,其特征在于,所述XML扫描模块内预存有合格性能时间标准。
3.一种自动化SQL优化方法,其特征在于,包含权利要求1所述的SQL优化系统,且具体包含以下步骤:
A.通过XML扫描模块自动化扫描所有SQL语句,并测试SQL语句运行性能,将性能较差的SQL语句提取出来;
B.添加数据库索引模块对步骤A提取出来的SQL语句进行索引优化,为其表添加索引并测试SQL语句性能,提取性能不达标的SQL语句;
C.优化SQL语句模块对步骤B提取出来的SQL语句进行修改,具体修改使索引失效的语句;
D.通过优化SQL语句模块展示系统优化信息。
4.根据权利要求3所述的一种自动化SQL优化方法,其特征在于,所述步骤D中展示系统优化信息时具体是展示SQL语句中被修改语句数目和添加索引数目以及优化前后性能的对比结果。
5.根据权利要求3所述的一种自动化SQL优化方法,其特征在于,所述XML扫描模块内预存有合格性能时间标准。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810864995.4A CN108595721A (zh) | 2018-08-01 | 2018-08-01 | 一种sql优化系统及自动化sql优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810864995.4A CN108595721A (zh) | 2018-08-01 | 2018-08-01 | 一种sql优化系统及自动化sql优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108595721A true CN108595721A (zh) | 2018-09-28 |
Family
ID=63619142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810864995.4A Pending CN108595721A (zh) | 2018-08-01 | 2018-08-01 | 一种sql优化系统及自动化sql优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595721A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134706A (zh) * | 2019-04-01 | 2019-08-16 | 平安科技(深圳)有限公司 | Sql语句自动优化方法、装置、计算机设备以及存储介质 |
CN111125085A (zh) * | 2018-10-30 | 2020-05-08 | 千寻位置网络有限公司 | 基于Python的数据库索引优化方法及装置、系统 |
CN112347120A (zh) * | 2020-10-27 | 2021-02-09 | 蜂助手股份有限公司 | 一种基于复杂sql的自动优化方法和装置 |
CN112925804A (zh) * | 2021-05-12 | 2021-06-08 | 北京优炫软件股份有限公司 | 数据库维护方法和装置 |
CN112988786A (zh) * | 2021-05-12 | 2021-06-18 | 北京优炫软件股份有限公司 | 数据库维护方法和装置 |
CN113590647A (zh) * | 2021-07-29 | 2021-11-02 | 中国联合网络通信集团有限公司 | Sql语句优化方法、装置、设备、存储介质及产品 |
CN113779070A (zh) * | 2021-09-16 | 2021-12-10 | 中国农业银行股份有限公司 | Sql优化方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019077A1 (en) * | 2007-07-13 | 2009-01-15 | Oracle International Corporation | Accelerating value-based lookup of XML document in XQuery |
CN104636257A (zh) * | 2015-03-13 | 2015-05-20 | 胡兢玉 | 基于sql覆盖的数据库应用软件自动化测试方法 |
CN106598862A (zh) * | 2016-12-19 | 2017-04-26 | 济南浪潮高新科技投资发展有限公司 | 一种基于sql语义可扩展的性能诊断调优方法 |
-
2018
- 2018-08-01 CN CN201810864995.4A patent/CN108595721A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019077A1 (en) * | 2007-07-13 | 2009-01-15 | Oracle International Corporation | Accelerating value-based lookup of XML document in XQuery |
CN104636257A (zh) * | 2015-03-13 | 2015-05-20 | 胡兢玉 | 基于sql覆盖的数据库应用软件自动化测试方法 |
CN106598862A (zh) * | 2016-12-19 | 2017-04-26 | 济南浪潮高新科技投资发展有限公司 | 一种基于sql语义可扩展的性能诊断调优方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125085A (zh) * | 2018-10-30 | 2020-05-08 | 千寻位置网络有限公司 | 基于Python的数据库索引优化方法及装置、系统 |
CN110134706A (zh) * | 2019-04-01 | 2019-08-16 | 平安科技(深圳)有限公司 | Sql语句自动优化方法、装置、计算机设备以及存储介质 |
CN112347120A (zh) * | 2020-10-27 | 2021-02-09 | 蜂助手股份有限公司 | 一种基于复杂sql的自动优化方法和装置 |
CN112347120B (zh) * | 2020-10-27 | 2022-04-01 | 蜂助手股份有限公司 | 一种基于复杂sql的自动优化方法和装置 |
CN112925804A (zh) * | 2021-05-12 | 2021-06-08 | 北京优炫软件股份有限公司 | 数据库维护方法和装置 |
CN112988786A (zh) * | 2021-05-12 | 2021-06-18 | 北京优炫软件股份有限公司 | 数据库维护方法和装置 |
CN113590647A (zh) * | 2021-07-29 | 2021-11-02 | 中国联合网络通信集团有限公司 | Sql语句优化方法、装置、设备、存储介质及产品 |
CN113590647B (zh) * | 2021-07-29 | 2024-02-23 | 中国联合网络通信集团有限公司 | Sql语句优化方法、装置、设备、存储介质及产品 |
CN113779070A (zh) * | 2021-09-16 | 2021-12-10 | 中国农业银行股份有限公司 | Sql优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595721A (zh) | 一种sql优化系统及自动化sql优化方法 | |
CN106980637B (zh) | Sql审核方法和装置 | |
CN111382226B (zh) | 一种数据库查询检索方法、装置和电子设备 | |
CN106682150B (zh) | 一种信息处理的方法及装置 | |
CN111339421A (zh) | 基于云技术的信息搜索的方法、装置、设备及存储介质 | |
US10146858B2 (en) | Discrepancy handler for document ingestion into a corpus for a cognitive computing system | |
CN104899295B (zh) | 一种异构数据源数据关联分析方法 | |
CN109614315B (zh) | 一种数据同步测试用例的自动生成方法及系统 | |
CN104899384A (zh) | 一种基于Revit的结构健康监测可视化系统 | |
CN111078675B (zh) | 一种多维度的综合数据库sql审核及优化方法和系统 | |
JP7103496B2 (ja) | 関連スコア算出システム、方法およびプログラム | |
CN101140590A (zh) | 资源文件的校验方法和系统 | |
CN112000773A (zh) | 基于搜索引擎技术的数据关联关系挖掘方法及应用 | |
CN107341080A (zh) | 一种测试用例管理系统及方法 | |
CN104008107A (zh) | 运维知识库的实现方法 | |
CN105095436A (zh) | 数据源数据自动建模方法 | |
CN112363996B (zh) | 用于建立电网知识图谱的物理模型的方法及系统和介质 | |
CN102156855A (zh) | 基于影像切割的银行凭证数据采集方法 | |
CN112199488B (zh) | 面向电力客服问答的渐增式知识图谱实体抽取方法和系统 | |
CN112347079A (zh) | 一种数据库内容保密检查系统及检查方法 | |
CN103345466A (zh) | 一种基于互联网免费信息的学术论文信息检测方法 | |
CN103714066B (zh) | 基于模板的数据库分析器 | |
CN106156057A (zh) | 一种查询视频数据结果的方法和设备 | |
CN114691643A (zh) | 一种应用于国产化替代的数据迁移方法与系统 | |
Beltadze | Developing methodology for the register-based census in Estonia |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180928 |