[发明专利]基于机器学习的SQL查询选择度预估方法有效
申请号: | 202011303961.1 | 申请日: | 2020-11-19 |
公开(公告)号: | CN112380243B | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 杨晓春;舒昭维;马红;王斌 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453;G06F16/2458;G06N20/00 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 李梁 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 机器 学习 sql 查询 选择 预估 方法 | ||
本发明提供一种基于机器学习的SQL查询选择度预估方法,涉及数据库技术领域。本发明通过对SQL查询选择度的预估,为查询优化过程中提供可靠的数据支撑,让基于代价的估计预估(CBO)算法来确定更为准确的最终的最优执行计划,比如在合并连接(merge join)时确定驱动表。同时在索引选择的过程中,准确的选择度可以给索引的建立提供收益预估。
技术领域
本发明涉及数据库技术领域,尤其涉及一种基于机器学习的SQL查询选择度预估方法。
背景技术
近几十年来,查询优化领域一直是热点研究方向。而查询优化使用选择度预估去区分一个查询执行计划的好坏,而执行计划则直接影响了查询的执行效率。目前大多数主流数据库都采用了直方图和采样结合的方法去对选择度进行预估,但是使用有限的信息对去进行预估会带来大量的错误。尽管目前主流数据库已经支持了有限多列的统计,但是这些信息依然不足以支撑对于大量表属性之间关联度的预估。
目前大量的研究已经表明,对于查询执行过程的监测可以精准地预估谓词选择度,这种方法可以用来加强未来的选择度预估。然而,目前的数据库系统没有完全地使用好这个机会。早在20年前,就有学者使用神经网络的方法来预估UDF谓词。近年来,随着机器学习方法的再次兴起和突破发展,人工智能方法融合数据库领域的优化是一种新兴的研究趋势。其中,结合机器学习方法,实现快速精准的选择度预估势必带来查询优化领域新的技术革新。
查询优化依赖于对查询谓词的选择度预估,从而产生一个好的查询执行计划。当一个查询包含了多个谓词,或者join操作,目前大多数的选择器使用了很多假设,比如谓词之间相互独立。尽管这类方法可以快速且使用较小内存对选择度进行预估,但这类方法经常会出现选择度预估错误的情况,导致了慢查询和无法预测的性能表现。使用直方图加采样的方法往往面临着很对问题,比如没有足够多有质量的样本,或者没有合适的索引结构去支持快速地采样,而这时候这类方法往往回退到用预先设定好的方法去预估选择度,比如使用谓词中选择度最低的谓词作为预估选择度,这种方法明显有很大的局限性,同时随着表属性增多,属性之间关联度的提高,谓词数量的增加等等都会让直方图和采样的方法选择度预测效果受到极大的制约。
在查询优化代价预估算法中,当前主流选择度预估的方法,不管是直方图统计,还是采样统计,或者是用机器学习模型预估选择度,所有的方法总结在一起就是用一个准确的模型快速的针对相应查询,获取选择度的预估。换言之,输入是与选择度相关的关键因素,经过计算模型,得到预估的选择度。整个流程,关键环节是输入的选取和模型的构建,而之后进一步考虑的是模型所占用的存储空间大小和选择度预估的速度。
随着机器学习算法的发展推广,对于数据库性能优化也带来了各种启发。针对选择度预估过程中的问题,都可以在机器学习模型中得到很好的解决。整个选择度预估模型可以被当作监督型学习模型,输入是查询转化的特征,输出是预估的选择度。使用这种方法,可以完美解决无合适索引结构去加快采样的问题,同时也将表属性之间的关联度考虑了进去。在当下情况,使用机器学习算法并不需要对实际真实的选择度达到完美的精准预测,只需要比现有的不准确预估方法更准即可。机器学习模型的输出的选择度预估值将可以直接被现有的完善的代价预估模型所使用,同时不会影响数据库的实际结构。
在SQL(结构化查询语言Structured Query Language)查询执行计划优化的过程中,主流数据库基本都是基于代价的估计(CBO)算法来选择最终执行计划,而准确的选择度预估可以给该解析过程提供可靠的数据来支撑算法,比如在合并连接(mergejoin)时决定驱动表。同时在索引选择的过程中,准确的选择度可以给索引的建立提供收益预估(当索引结构是B树时,在选择度低的查询中索引能带来更高的提升)。
发明内容
针对现有技术的不足,本发明提供一种基于机器学习的SQL查询选择度预估方法;
为解决上述技术问题,本发明所采取的技术方案是:
一种基于机器学习的SQL查询选择度预估方法,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011303961.1/2.html,转载请声明来源钻瓜专利网。