SQL优化方法及系统技术方案

技术编号:31317615 阅读:15 留言:0更新日期:2021-12-12 23:57
本发明专利技术提供一种SQL优化方法及系统,通过获取并扫描可扩展标记语言XML文件,得到XML中的SQL语句;调用预先存储于更新库中的SQL的数据库基本规范文件,基于SQL的数据库基本规范文件中的规范信息对SQL语句进行规范检查,得到符合规范的SQL语句;查找更新库中是否存在与符合规范的SQL语句匹配的优化SQL语句;若存在,调用优化SQL语句,并展示。在本方案中,利用预先存储于更新库中的SQL的数据库基本规范文件中的规范信息对扫描出的SQL语句进行规范检查,并根据查找到的更新库中与符合规范的SQL语句匹配的优化SQL语句进行SQL优化,从而提高SQL优化技术的适用性,实现动态更新。实现动态更新。实现动态更新。

【技术实现步骤摘要】
SQL优化方法及系统


[0001]本专利技术涉及语言优化
,尤其涉及一种SQL(Structured Query Language,结构化查询语言)优化方法及系统。

技术介绍

[0002]随着大数据的发展,数据库承载数据量越来越大,数据间逻辑关系也越来越复杂,而企业级应用往往包含成千上万个SQL操作,其执行效率极大地影响着整个系统吞吐量。
[0003]在现有技术中,有两种SQL优化技术,一种需至少提取两条SQL进行分析,且对于所有SQL直接根据其设定完成优化,没有征得开发人员同意,很可能删除了某些必要信息,同时该优化方法无法进行更新。另一种对具SQL语句的优化需连接数据库,对于企业应用来说存在风险,安全性不高,而且该优化方法中数据库需要有索引模块,不能普遍适用所有类型数据库,同时该优化方法也无法进行更新。
[0004]由此可知,现有的SQL优化技术不能普遍适用于所有情况下的优化方法,适用性差,同时不能进行动态更新。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种SQL优化方法及系统,以解决现有技术中SQL优化技术存在的适用性差和不能进行动态更新的问题。
[0006]为实现上述目的,本专利技术实施例提供如下技术方案:
[0007]本专利技术实施例第一方面公开了一种结构化查询语言SQL优化方法,所述方法包括:
[0008]获取并扫描可扩展标记语言XML文件,得到所述XML中的SQL语句;
[0009]调用预先存储于更新库中的SQL的数据库基本规范文件,基于所述SQL的数据库基本规范文件中的规范信息对所述SQL语句进行规范检查,得到符合规范的SQL语句;
[0010]查找所述更新库中是否存在与所述符合规范的SQL语句匹配的优化SQL语句;
[0011]若存在,调用所述优化SQL语句,并展示。
[0012]可选的,在基于所述SQL的基本规范文件中的规范信息对所述SQL语句进行规范检查的过程中,还包括:
[0013]得到不符合规范的SQL语句;
[0014]对所述不符合规范的SQL语句进行修改并标记。
[0015]可选的,所述SQL的数据库基本规范文件的生成过程,包括:
[0016]在所述更新库中建立初始文件;
[0017]获取所述SQL语句的数据库基本规范信息,所述数据库基本规范信息至少包括字符集是否符合标准、字段名是否与关键字重复、以及是否缺少结束字符;
[0018]将所述SQL语句的数据库基本规范信息写入至所述初始文件中,生成所述SQL的数据库基本规范文件。
[0019]可选的,还包括:
[0020]当获取到更新规范信息请求时,基于所述更新规范信息请求,在预先存储于更新库的SQL的数据库基本规范文件中确认待更新的SQL的数据库基本规范文件,所述更新规范信息请求包括增补或者删除规范信息;
[0021]基于所述增补或者删除规范信息,对所述待更新的SQL的数据库基本规范文件进行更新,得到更新后的SQL的数据库基本规范文件。
[0022]可选的,所述预先将优化SQL语句存储于更新库的过程,包括:
[0023]基于预先设置的优化策略对样本SQL语句进行优化,得到对应的优化SQL语句;
[0024]建立所述样本SQL语句与所述优化SQL语句的对应关系,将所述对应关系存储于所述更新库中。
[0025]可选的,还包括:
[0026]当获取到更新SQL语句请求时,基于所述更新SQL语句请求,在预先存储于更新库的样本SQL语句与优化SQL语句的对应关系确认待更新的样本SQL语句与优化SQL语句的对应关系,所述更新SQL语句请求包括增补或者删除SQL语句或优化SQL语句;
[0027]基于所述增补或者删除SQL语句或优化SQL语句,对所述待更新的样本SQL语句与优化SQL语句的对应关系进行更新,得到更新后的样本SQL语句与优化SQL语句的对应关系。
[0028]可选的,所述调用预先存储于更新库中的SQL的数据库基本规范文件,基于所述SQL的数据库基本规范文件中的规范信息对所述SQL语句进行规范检查,得到符合规范的SQL语句,包括:
[0029]获取所述SQL语句的关键字符,所述关键字符至少包括字符集、字段名、关键字和结束字符;
[0030]调用预先存储于更新库中的SQL的数据库基本规范文件,将所述关键字符与所述SQL的数据库基本规范文件中的规范信息进行匹配;
[0031]若所述关键字符与所述SQL的数据库基本规范文件中的规范信息匹配,确定所述SQL语句符合规范,得到符合规范的SQL语句。
[0032]可选的,还包括:
[0033]以注释的形式展示所述优化SQL语句。
[0034]本专利技术实施例第二方面公开了一种结构化查询语言SQL优化系统,所述系统包括:
[0035]扫描模块,用于获取并扫描可扩展标记语言XML文件,得到所述XML中的SQL语句;
[0036]检查模块,用于调用预先存储于更新库中的SQL的数据库基本规范文件,基于所述SQL的数据库基本规范文件中的规范信息对所述SQL语句进行规范检查,得到符合规范的SQL语句;
[0037]查找模块,用于查找所述更新库中是否存在与所述符合规范的SQL语句匹配的优化SQL语句;若存在,调用所述优化SQL语句,并展示。
[0038]可选的,所述检查模块,还具体用于:
[0039]在基于所述SQL的数据库基本规范文件中的规范信息对所述SQL语句进行规范检查的的过程中,得到不符合规范的SQL语句;对所述不符合规范的SQL语句进行修改并标记。
[0040]基于上述本专利技术实施例提供的一种SQL优化方法及系统,所述方法包括:获取并扫描可扩展标记语言XML文件,得到所述XML中的SQL语句;调用预先存储于更新库中的SQL的数据库基本规范文件,基于所述SQL的数据库基本规范文件中的规范信息对所述SQL语句进
行规范检查,得到符合规范的SQL语句;查找所述更新库中是否存在与所述符合规范的SQL语句匹配的优化SQL语句;若存在,调用所述优化SQL语句,并展示。在本方案中,利用预先存储于更新库中的SQL的数据库基本规范文件中的规范信息对扫描出的SQL语句进行规范检查,并根据查找到的更新库中与符合规范的SQL语句匹配的优化SQL语句进行SQL优化,从而提高SQL优化技术的适用性,实现动态更新。
附图说明
[0041]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0042]图1为本专利技术实施例提供的一种SQL优化方法的流程示意图;
[0043]图2为本专利技术实施例提供的一种生成SQL的数据库基本规范文件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种结构化查询语言SQL优化方法,其特征在于,所述方法包括:获取并扫描可扩展标记语言XML文件,得到所述XML中的SQL语句;调用预先存储于更新库中的SQL的数据库基本规范文件,基于所述SQL的数据库基本规范文件中的规范信息对所述SQL语句进行规范检查,得到符合规范的SQL语句;查找所述更新库中是否存在与所述符合规范的SQL语句匹配的优化SQL语句;若存在,调用所述优化SQL语句,并展示。2.根据权利要求1所述的方法,其特征在于,在基于所述SQL的基本规范文件中的规范信息对所述SQL语句进行规范检查的过程中,还包括:得到不符合规范的SQL语句;对所述不符合规范的SQL语句进行修改并标记。3.根据权利要求1所述的方法,其特征在于,所述SQL的数据库基本规范文件的生成过程,包括:在所述更新库中建立初始文件;获取所述SQL语句的数据库基本规范信息,所述数据库基本规范信息至少包括字符集是否符合标准、字段名是否与关键字重复、以及是否缺少结束字符;将所述SQL语句的数据库基本规范信息写入至所述初始文件中,生成所述SQL的数据库基本规范文件。4.根据权利要求3所述的方法,其特征在于,还包括:当获取到更新规范信息请求时,基于所述更新规范信息请求,在预先存储于更新库的SQL的数据库基本规范文件中确认待更新的SQL的数据库基本规范文件,所述更新规范信息请求包括增补或者删除规范信息;基于所述增补或者删除规范信息,对所述待更新的SQL的数据库基本规范文件进行更新,得到更新后的SQL的数据库基本规范文件。5.根据权利要求1所述的方法,其特征在于,所述预先将优化SQL语句存储于更新库的过程,包括:基于预先设置的优化策略对样本SQL语句进行优化,得到对应的优化SQL语句;建立所述样本SQL语句与所述优化SQL语句的对应关系,将所述对应关系存储于所述更新库中。6.根据权利要求5所述的方法,其特征在于,还包括:当获取到更新SQL语句请求时,基于所述更新SQL语句请...

【专利技术属性】
技术研发人员:俱青林海杰焦洋靖飞
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1