当前位置: 首页 > 专利查询>山东大学专利>正文

基于树型QRNN的数据库查询优化处理方法及系统技术方案

技术编号:37643771 阅读:13 留言:0更新日期:2023-05-25 10:10
本发明专利技术公开了基于树型QRNN的数据库查询优化处理方法机系统;其中所述方法,包括:获取输入的结构化查询语句;确定所述结构化查询语句对应的执行计划,获取执行计划的树状结构,执行计划树状结构中的每一个节点包括表、操作类型和/或谓词条件;将执行计划树状结构中每一个节点对应的信息转化成特征向量;构建并训练查询优化器模型;查询优化器模型在训练时,是将历史执行计划作为样本数据、所述历史执行计划对应的实际查询成本作为目标值进行训练的;将执行计划树状结构中每一个节点的特征向量输入到查询优化器模型的树型准循环神经网络的对应节点中,得到多层感知机输出的查询成本,基于查询成本确定目标执行计划。基于查询成本确定目标执行计划。基于查询成本确定目标执行计划。

【技术实现步骤摘要】
基于树型QRNN的数据库查询优化处理方法及系统


[0001]本专利技术涉及数据库查询优化
,特别是涉及基于树型QRNN的数据库查询优化处理方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提到了与本专利技术相关的
技术介绍
,并不必然构成现有技术。
[0003]基础软件是信息产业发展和信息化建设的重要基础和支撑,核心的基础软件越来越被企业所重视。其中,数据库作为基础软件的重要组成之一,数据库的应用领域非常广泛,很多公司都需要利用数据库来存储数据信息。而数据库中的查询优化器,能够决定数据库的执行性能。其中的成本估计对查询优化器至关重要,它可以指导执行计划的选择,为查询语句选择出一个高效的执行计划。并且,随着大数据时代的到来,数据大量增长,因此,建立合理的并且能够持续处理新增数据的查询优化器的成本估计模型具有非常重要的现实意义。
[0004]随着数据库近年来的不断发展,数据库开始与各项新兴技术结合,如人工智能、区块链、密态计算等。数据库与人工智能的结合是一种双赢,数据库和人工智能都能从这次结合中受益。由于查询优化基于启发式的本质,有很多人尝试将深度学习应用于查询优化器中的成本估计。例如对执行计划的树结构进行异构建模,并采用线性的方法去捕获执行计划的特征信息。然而这类方法不对执行计划中的谓词进行编码,依赖于关系型数据库估计的基数和估计的成本,最终导致在预测的时候产生误差,并且采用线性的方法无法准确地捕捉到复杂执行计划的信息。同时还有另一部分的研究是采用循环神经网络的变体长短期记忆网络(LSTM)对执行计划中的节点进行建模,这样能够解决梯度消失和梯度爆炸的问题,但是此类方法计算量大,并且无法并行计算,训练困难。此外,还有研究者采用了Transformer模型去捕获执行计划中节点的信息以及采用树偏注意力机制去捕获执行计划的树结构特征。
[0005]上述的方法虽然都取得了一定的成果,但是都没有将查询优化器中成本估计的影响因素全面的考虑在在内;其次,它们大多只考虑了静态数据下的情况,忽略了现实场景中增量数据对成本估计模型产生的影响。

技术实现思路

[0006]为了解决现有技术的不足,本专利技术提供了基于树型QRNN的数据库查询优化处理方法及系统;根据已有的执行计划以及统计信息对成本进行估计,同时还采用增量学习方法去持续学习新数据,使得数据库能够根据成本估计值去更好地选择执行计划去执行,进而达到提高数据库执行查询语句性能目的。
[0007]第一方面,本专利技术提供了基于树型QRNN的数据库查询优化处理方法;
[0008]基于树型QRNN的数据库查询优化处理方法,包括:
[0009]获取输入的结构化查询语句;
[0010]确定所述结构化查询语句对应的执行计划,获取执行计划的树状结构,执行计划树状结构中的每一个节点包括表、操作类型和/或谓词条件;将执行计划树状结构中每一个节点对应的信息转化成特征向量;
[0011]构建并训练查询优化器模型;所述查询优化器模型,包括:树型准循环神经网络和多层感知机;树型准循环神经网络是树状结构,树型准循环神经网络的树状结构中的节点与执行计划的树状结构中的节点是一一对应的;树型准循环神经网络的每个节点均采用准循环神经网络来实现,树型准循环神经网络的树状结构的根节点与多层感知机连接;查询优化器模型在训练时,是将历史执行计划作为样本数据、所述历史执行计划对应的实际查询成本作为目标值进行训练的;
[0012]将执行计划树状结构中每一个节点的特征向量输入到查询优化器模型的树型准循环神经网络的对应节点中,得到多层感知机输出的查询成本,基于查询成本确定目标执行计划。
[0013]第二方面,本专利技术提供了基于树型QRNN的数据库查询优化处理系统;
[0014]基于树型QRNN的数据库查询优化处理系统,包括:
[0015]获取模块,其被配置为:获取输入的结构化查询语句;
[0016]确定模块,其被配置为:确定所述结构化查询语句对应的执行计划,获取执行计划的树状结构,执行计划树状结构中的每一个节点包括表、操作类型和/或谓词条件;将执行计划树状结构中每一个节点对应的信息转化成特征向量;
[0017]处理模块,其被配置为:构建并训练查询优化器模型;所述查询优化器模型,包括:树型准循环神经网络和多层感知机;树型准循环神经网络是树状结构,树型准循环神经网络的树状结构中的节点与执行计划的树状结构中的节点是一一对应的;树型准循环神经网络的每个节点均采用准循环神经网络来实现,树型准循环神经网络的树状结构的根节点与多层感知机连接;查询优化器模型在训练时,是将历史执行计划作为样本数据、所述历史执行计划对应的实际查询成本作为目标值进行训练的;
[0018]输出模块,其被配置为:将执行计划树状结构中每一个节点的特征向量输入到查询优化器模型的树型准循环神经网络的对应节点中,得到多层感知机输出的查询成本,基于查询成本确定目标执行计划。
[0019]第三方面,本专利技术还提供了一种电子设备,包括:
[0020]存储器,用于非暂时性存储计算机可读指令;以及
[0021]处理器,用于运行所述计算机可读指令,
[0022]其中,所述计算机可读指令被所述处理器运行时,执行上述第一方面所述的方法。
[0023]第四方面,本专利技术还提供了一种存储介质,非暂时性地存储计算机可读指令,其中,当非暂时性计算机可读指令由计算机执行时,执行第一方面所述方法的指令。
[0024]第五方面,本专利技术还提供了一种计算机程序产品,包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现上述第一方面所述的方法。
[0025]与现有技术相比,本专利技术的有益效果是:
[0026]首先从传统数据库的统计信息中提取出直方图以及最频值,采用线性差值的方法去重新分配直方图横轴值,再通过谓词信息给直方图与最频值信息进行特征编码,这样能够充分利用数据库统计信息。
[0027]然后再利用树型准循环神经网络为执行计划进行建模,模型支持并行计算,并且能够捕捉长期依赖性。
[0028]最后,方法采用了增量学习,对增量数据进行处理,进一步迭代更新模型权重,使得模型在动态数据的情况下,更为准确。
附图说明
[0029]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0030]图1为本专利技术实施例一的模型框架图;
[0031]图2为本专利技术实施例一的树型准循环神经网络单元原理示例图;
[0032]图3为本专利技术实施例一的增量学习部分原理示例图;
[0033]图4为本专利技术实施例一的直方图编码示意图;
[0034]图5为本专利技术实施例一的两种树结构一一对应关系示意图。
具体实施方式
[0035]应该指出,以下详细说明都是示例性的,旨在对本专利技术提供进一步的说明。除非另有指明,本文使用的所有技术和科本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于树型QRNN的数据库查询优化处理方法,其特征是,包括:获取输入的结构化查询语句;确定所述结构化查询语句对应的执行计划,获取执行计划的树状结构,执行计划树状结构中的每一个节点包括表、操作类型和/或谓词条件;将执行计划树状结构中每一个节点对应的信息转化成特征向量;构建并训练查询优化器模型;所述查询优化器模型,包括:树型准循环神经网络和多层感知机;树型准循环神经网络是树状结构,树型准循环神经网络的树状结构中的节点与执行计划的树状结构中的节点是一一对应的;树型准循环神经网络的每个节点均采用准循环神经网络来实现,树型准循环神经网络的树状结构的根节点与多层感知机连接;查询优化器模型在训练时,是将历史执行计划作为样本数据、所述历史执行计划对应的实际查询成本作为目标值进行训练的;将执行计划树状结构中每一个节点的特征向量输入到查询优化器模型的树型准循环神经网络的对应节点中,得到多层感知机输出的查询成本,基于查询成本确定目标执行计划。2.如权利要求1所述的基于树型QRNN的数据库查询优化处理方法,其特征是,获取执行计划的树状结构,包括:如果当前节点与邻接节点之间有父子节点的连接关系,则当前节点与节点之间存在连接关系;如果当前节点与邻接节点之间无父子节点的连接关系,则当前节点与邻接节点之间不存在连接关系。3.如权利要求1所述的基于树型QRNN的数据库查询优化处理方法,其特征是,将执行计划树状结构中每一个节点对应的信息转化成特征向量,具体包括:对执行计划树状结构中每一个节点中的表、操作类型以及谓词条件,分别进行特征编码;对被查询数据库统计信息中的直方图和最频值,分别进行特征编码;将所有的特征编码结果串联到一起,得到特征向量。4.如权利要求3所述的基于树型QRNN的数据库查询优化处理方法,其特征是,对执行计划树状结构中每一个节点中的表、操作类型以及谓词条件,分别进行特征编码,具体包括:对表、操作类型这两种类型的信息进行one

hot编码,得到E
T
和E
O
;在对谓词条件中的原子谓词条件进行编码时,采用one

hot编码与word2vec模型编码相结合的方式,对列、操作符采用one

hot编码的形式,对值采用word2vec模型编码的形式,并将二者串联起来,作为原子谓词的向量表示E
A
,在对谓词条件中的复合谓词条件进行编码时,采用最大

最小池化操作对其中的原子谓词条件进行处理,对析取操作OR采用最大池化操作,对合取谓词AND采用最小池化操作,并将最后的输出结果作为谓词条件的特征嵌入向量表示E
P
。5.如权利要求1所述的基于树型QRNN的数据库查询优化处理方法,其特征是,所述树型准循环神经网络,包括:如果在执行计划的树状结构中当前节点与邻接节点相连,则与执行计划的树状结构对应的查询优化器模型的树型结构中,当前节点与邻接节点之间也存在连接关系;
如果在执行计划的树状结构中当前节点与邻接节点不相连,则与执行计划的树状结构对应的查询优化器模型的树型结构中,当前节点与邻接节点之间不存在连接关系。6.如权利要求1所述的基于树型QRNN的数据库查询优化处理方法,其特征是,所述树型准循环神经网络的每个节点均采用准循环神经网络来实现,包括:将树型准循环神经网络的所有节点根据节点所处位置划分为叶子节点、中间节点和根节点;根节点的输出端与多层感知机的输入端连接;根节点的输入端分别与左中间节点的输出端和右中间节点的输出端连接;左中间节点的输入端分别与左叶子节点的输出端和右叶子节点的输出端连接;对于叶子节点而言,叶子节点所对应的准循环神经网络的输入值c
l
等于0,首个准循环神经网络的输入值c
r
等于0,叶子节点的准循环神经网络对输入值c
l
和输入值c
r
进行平均化处理,得到记忆单元c
t
‑1;叶子节点的准循环神经网络对记忆单元c
t
‑1和输入序列X进行处理,得到叶子节点的记忆单元c
t
;输入序列X是指当前准循环神经网络节点所对应的执行计划节点的特征向量;对于中间节点而言,中间节点所对应的准循环神经网络的输入值c
l
等于与中间节点所连接的左叶子节点的记忆单元c
t
;中间节点所对应的准循环神经网络的输入值...

【专利技术属性】
技术研发人员:彭朝晖谢汶羲褚曜珲
申请(专利权)人:山东大学
类型:发明
国别省市:

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

1