[发明专利]复杂SQL语句优化解析方法在审
| 申请号: | 202111471726.X | 申请日: | 2021-12-06 |
| 公开(公告)号: | CN114118055A | 公开(公告)日: | 2022-03-01 |
| 发明(设计)人: | 刘庆;席明;王成飞;王敏人;康永龙 | 申请(专利权)人: | 中电万维信息技术有限责任公司 |
| 主分类号: | G06F40/205 | 分类号: | G06F40/205;G06F40/289;G06F16/242 |
| 代理公司: | 兰州嘉诺知识产权代理事务所(普通合伙) 62202 | 代理人: | 吕长红 |
| 地址: | 730000 甘肃省兰州市城关*** | 国省代码: | 甘肃;62 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 复杂 sql 语句 优化 解析 方法 | ||
本发明属于计算机数据库技术领域,涉及一种数据库SQL语句优化前的语句自动解析方法。通过本发明能够将需要优化的复杂SQL语句解析为简单的SQL语句。同时,对简单SQL语句中即使用相同查询表又使用相同where子句字段的SQL语句进行去重。在提高语句优化分析效率的同时,有效缩减优化范围,从整体上提升优化效率。
技术领域
本发明属于计算机数据库技术领域,涉及一种数据库SQL语句优化前的语句自动解析方法。
背景技术
由于目前的系统越来越多,在系统上线前进行性能测试时存在较多的数据库索引问题,导致系统请求耗时较长,且大量消耗数据库服务器CPU资源。这时需要数据库开发人员进行大量的时间投入进行数据库索引优化。同时,在系统上线运维一段时间后,由于系统业务数据增加、业务调整等原因,导致系统数据库原有索引失效或索引效率下降,这时也需要数据库管理员投入大量的时间进行数据库索引优化。
现有技术专利申请号为“CN201610920693.5”,专利名称为“数据库索引创建方法及装置”的发明专利公开了一种数据库索引创建方法及装置,提供了一种数据库索引创建方法,用以在自动进行数据库索引创建过程中避免业务场景及数据库中无有效数据分布对数据库索引创建的影响。
在实际业务中,需要优化的语句大多数都是复杂的SQL语句,不是一种简单结构的查询语句;且实际业务中执行的SQL语句大部分情况下是相同结构,但查询字段具体值不同而已,在具体优化时,对相同机构的SQL语句仅需优化一次,不需要对这类语句进行多次的相同优化。现有技术专利中,对以上问题没有进行较好的解决。
为了解决上述问题,本发明发明了一种SQL语句的解析方法,它不但可以对复杂的SQL进行分解及过滤;同时,还可以对相同结构的SQL语句进行过滤。
发明内容
为了克服现有技术专利中存在的问题,本发明的目的是提供一种复杂SQL语句优化解析的方法,解决现有技术专利中存在的问题,提升SQL整体的优化效率。
复杂SQL语句优化解析方法,包括如下步骤:
第一步:设置数据库进行SQL抓取的时间段,在SQL抓取时间段内自动抓取数据库执行过的SQL语句,并记入SQL执行列表;
第二步:对SQL执行列表中的记录按照特征结构去重,对结构相同,参数不同的的语句只保留一条,并记入SQL执行结果表;
第三步:获取SQL执行结果表中第一条SQL语句;
第四步:按照解析器中的结构特征,解析拆分第一条SQL语句,使之按结果集拆分成SQL子句,并记入解析临时表记录;
第五步:对第四步中的解析临时表中的SQL子句进行第三步的迭代解析,直至其不可再次解析,将解析到的SQL语句记入解析中间表记录;
第六步:顺次获取解析中间表中的一条记录,当该SQL语句中结果集、查询字段与条件子句字段均不与待优化SQL语句表中已有记录相同时,记入待优化SQL语句表。
所述步骤二中对包含有子查询、包含有join查询和包含有union查询的复杂SQL语句进行解析,分解为仅含有单表select查询,且where子句不包含任何复杂结构的简单结构的SQL语句;在简单结构的SQL查询语句中,按照所查询单表,对where子句使用相同字段的SQL语句进行去重,只保留一条,有效减少需要优化的SQL语句数量;对含有子查询的SQL查询语句,使用递归方法,从内层逐次递归,将内层的SQL语句逐层解析出来,转化为多个简单结构的SQL查询语句;对含有join查询的SQL查询语句,按照join关键字对该复杂的SQL拆分为多个简单结构的SQL查询语句;对含有union查询的SQL查询语句,按照union关键字对该复杂的SQL拆分为多个简单结构的SQL查询语句。
所述对查询表相同且where子句使用相同字段的SQL查询语句,按照返回列表的最小交集去重。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电万维信息技术有限责任公司,未经中电万维信息技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111471726.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:语音唤醒方法、装置、电子设备以及存储介质
- 下一篇:一种抗菌防霉超细纤维贝斯





