[发明专利]SQL优化方法、装置、存储介质及计算机设备有效
申请号: | 202010141851.3 | 申请日: | 2020-03-04 |
公开(公告)号: | CN111400338B | 公开(公告)日: | 2022-11-22 |
发明(设计)人: | 刘佳 | 申请(专利权)人: | 深圳平安医疗健康科技服务有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453 |
代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威 |
地址: | 518000 广东省深圳市福田区华*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql 优化 方法 装置 存储 介质 计算机 设备 | ||
本发明公开了一种SQL优化方法、装置、存储介质及计算机设备,涉及数据库技术领域。其中方法包括:采集多组SQL样本数据,并根据SQL样本数据创建决策模型;获取待优化的SQL语句以及待优化的SQL语句对应的应用环境信息;将待优化的SQL语句转换为抽象语法树;根据待优化的SQL语句对应的应用环境信息,利用决策模型对抽象语法树进行优化处理;将优化后的抽象语法树转换为SQL语句,得到优化后的SQL语句。上述方法可以根据不同的应用环境对SQL语句进行针对性的优化,并且通过策略模型对SQL语句进行优化可以提高SQL优化的效率,减少SQL优化的耗时并达到较佳的优化效果。
技术领域
本发明涉及数据库技术领域,尤其是涉及一种SQL优化方法、装置、存储介质及计算机设备。
背景技术
SQL(Structured Query Language)即结构化查询语言,是一种具有数据操纵和数据定义等多种功能的数据库语言,结构化查询语言SQL(Structured Query Language)专门用于操作关系型数据库,关系型数据库是目前应用最广泛的数据库,比较典型的关系型数据库包括甲骨文公司的Oracle Database、微软公司的SQL Server、IBM公司的DB2以及PostgreSQL和MySQ等。
在实际应用中,SQL调优对项目的性能来讲至关重要,但现有的SQL调优全部基于技术人员的自身的技术积累,技术点比较零散、调整者需要SQL优化、访问设计、SQL设计等多领域的专业知识,并且,不同的数据量和不同的数据库场景的配置调优方式也有所不同,大量重复且琐碎的挑战工作非常耗费时间,并且由于SQL负载的不断增加,调优工作将永无休止。
目前市面上还没有一种有效的专门针对SQL语句自动优化的方案。
发明内容
有鉴于此,本申请提供了一种SQL优化方法、装置、存储介质及计算机设备,主要目的在于解决的SQL优化耗时较长、优化效率较低以及优化效果不佳的技术问题。
根据本发明的第一个方面,提供一种SQL优化方法,该方法包括:
采集多组SQL样本数据,并根据SQL样本数据创建决策模型;
获取待优化的SQL语句以及待优化的SQL语句对应的应用环境信息;
将待优化的SQL语句转换为抽象语法树;
根据待优化的SQL语句对应的应用环境信息,利用决策模型对抽象语法树进行优化处理;
将优化后的抽象语法树转换为SQL语句,得到优化后的SQL语句。
根据本发明的第二个方面,提供一种SQL优化装置,该装置包括:
模型创建模块,用于采集多组SQL样本数据,并根据SQL样本数据创建决策模型;
数据获取模块,用于获取待优化的SQL语句以及待优化的SQL语句对应的应用环境信息;
语义解析模块,用于将待优化的SQL语句转换为抽象语法树;
优化处理模块,用于根据待优化的SQL语句对应的应用环境信息,利用决策模型对抽象语法树进行优化处理;
语句转换模块,用于将优化后的抽象语法树转换为SQL语句,得到优化后的SQL语句。
根据本发明的第三个方面,提供一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述SQL优化方法。
根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述SQL优化方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳平安医疗健康科技服务有限公司,未经深圳平安医疗健康科技服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010141851.3/2.html,转载请声明来源钻瓜专利网。