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

一种基于BERT的数据库查询连接顺序调整方法技术

技术编号:39439303 阅读:11 留言:0更新日期:2023-11-19 16:22
本发明专利技术提供基于BERT的数据库查询连接顺序调整方法,属于数据库查询优化技术领域。包括:利用SQL生成器生成SQL集合A={α};基于SQL集合A生成训练集、验证集和测试集,利用学习式连接顺序调整模型对训练集M

【技术实现步骤摘要】
一种基于BERT的数据库查询连接顺序调整方法


[0001]本专利技术涉及数据库查询优化
,尤其涉及一种基于BERT的数据库查询连接顺序调整方法。

技术介绍

[0002]同一条查询语句改变不同的表连接顺序会产生不同的执行时间,甚至会存在数量级的差距。为了提高数据库查询性能,DBMS(数据库管理系统)会在执行计划搜索空间中选择执行时间较短的连接顺序来提升性能以及减少资源消耗。
[0003]目前研究基本采用基于强化学习的查询方法,通过基于树长短期记忆的方法构建连接树,然后通过与环境交互获得反馈信息对连接树进行调整获得优化后的连接计划。Xiang Yu等人在文献"Reinforcement Learning with Tree

LSTM for Join Order Selection,"ICDE,1297

1308,2020;提出了一种连接顺序优化模型RTOS,采用临近策略优化算法指导连接顺序的选择,RTOS中优化器agent,通过与环境(DBMS)的试错交互从反馈中学习,通过构建Tree

LSTM将所有表进行连接,最终发送给DBMS执行。
[0004]综上所述,目前基于强化学习进行连接顺序调整还存在如下问题:强化学习模型会通过与数据库交互对查询语句进行优化,对数据库的反复读写造成较多的资源消耗;经过训练后的强化学习模型会根据经验对当前需求进行修改,很容易陷入局部最优解而难以跳出;强化学习总是需要一个奖励函数,但是奖励函数很难被定义,若设定了一个不是最完美的奖励函数,那么agent可能会学出完全不是想要的行为,这些问题都会导致查询执行性能较差。

技术实现思路

[0005]有鉴于此,本专利技术提供一种基于BERT的数据库查询连接顺序调整方法,用于优化查询语句中的表连接顺序,提升查询执行性能。
[0006]本专利技术实施例解决其技术问题所采用的技术方案是:
[0007]一种基于BERT的数据库查询连接顺序调整方法,包括:
[0008]步骤S1,基于数据库中的表,利用SQL生成器生成SQL集合A={α},其中,A中包含|A|条SQL语句α;
[0009]步骤S2,基于所述SQL集合A生成训练集M
a
、验证集M
b
和测试集M
c
,即A=M
a
∪M
b
∪M
c
,利用学习式连接顺序调整模型对所述训练集M
a
进行调整,调整后得到的查询集M
a


[0010]步骤S3,将所述查询集M
a

中各元素编码为文本向量;
[0011]步骤S4,将所述文本向量编辑成为输入向量,将|M
a

|个所述输入向量输入BERT模型进行预训练,通过调整权重矩阵提高所述BERT模型的预测准确度;
[0012]步骤S5,利用所述验证集M
b
、结合对比调优模型验证所述BERT模型,验证过程中出现调优效果不优于所述对比调优模型的情况时,对所述权重矩阵执行fine

tuning操作;
[0013]步骤S6,利用所述测试集M
c
、结合所述对比调优模型测试步骤S5处理后的BERT模
型,测试完成后调优效果全部优于所述对比调优模型时,训练结束;
[0014]步骤S7,利用所述步骤S6训练好的BERT模型执行新查询的查询连接顺序优化调整。
[0015]较优地,所述步骤S3包括:
[0016]步骤S31,定义数据模型M,所述数据模型M包括两种数据存储形式:
§
={λ,γ,σ,μ}、Ψ={ζ,η},其中,λ指SQL语句中查询的具体属性,γ指查询条件中限制的结果范围,σ指SQL语句中涉及的所有列的列名,μ为单表的数据量大小,ζ指SQL语句中涉及到的所有表的表名,η指两表之间的所有连接方式;
[0017]步骤S32,对所述查询集M
a

中的SQL语句进行分词,得到所述SQL语句中的λ、γ、σ、ζ、η,访问数据库查询出ζ所对应的各个μ值,将λ、γ、σ、ζ、η、μ作为所述SQL语句的特征token,将提取到的各个所述特征token映射到所述数据模型M中并存储;
[0018]步骤S33,学习
§
和Ψ之间的语义联系,根据
§
中的条件调整Ψ中的表顺序以及表连接方式;
[0019]步骤S34,通过词向量表征方式将
§
和Ψ编码为所述SQL语句的文本向量δ。
[0020]较优地,所述步骤S4包括:
[0021]步骤S41,将|M
a

|个所述文本向量δ输入所述BERT模型,在所述BERT模型中为各所述文本向量δ添加片段向量ε和位置向量ρ,得到|M
a

|个输入向量¢,其中,¢=δ+ε+ρ;
[0022]步骤S42,将各所述输入向量¢输入所述BERT模型中,对各所述输入向量¢中的Ψ数据进行随机mask掩盖,其中所述Ψ数据中的mask掩盖部分数据占所述输入向量¢的a%;
[0023]步骤S43,所述BERT模型通过计算
§
与所述Ψ中未被mask掩盖的数据之间的关系对所述mask掩盖部分数据进行预测,得出mask掩盖部分预测数据,并进一步得出包含所述mask掩盖部分预测数据的输出向量¢


[0024]步骤S44,根据所述输出向量¢

与所述输入向量¢之间的误差更新所述BERT模型初始随机的权重矩阵W,利用所有所述输入向量¢进行模型训练,并在完全消除误差后结束训练。
[0025]较优地,所述步骤S44的具体实施包括:
[0026]步骤S441,计算所述输出向量¢

与所述输入向量¢之间的误差值,所述误差值计算采用余弦相似度计算公式;
[0027]步骤S442,根据所述误差值,通过反向传播算法更新所述BERT模型的所述权重矩阵W;
[0028]步骤S443,利用通过所述训练集M
a

,得到所有所述输入向量¢进行模型训练,直至所述BERT模型的预测数据与原始数据无差异,所述BERT模型的预训练结束。
[0029]较优地,所述步骤S5包括:
[0030]步骤S51,输入所述验证集M
b
中各元素,将所述验证集M
b
中各元素编码为文本向量、再按照所述步骤S41

S43执行预测;
[0031]步骤S52,对所述步骤S51所得的输出向量¢

使用反向word2vec反向编码为SQL查询语句;
[0032]步骤S53,将所述步骤S52所得的SQL查询语句输入进数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于BERT的数据库查询连接顺序调整方法,其特征在于,包括:步骤S1,基于数据库中的表,利用SQL生成器生成SQL集合A={α},其中,A中包含|A|条SQL语句α;步骤S2,基于所述SQL集合A生成训练集M
a
、验证集M
b
和测试集M
c
,即A=M
a
∪M
b
∪M
c
,利用学习式连接顺序调整模型对所述训练集M
a
进行调整,调整后得到的查询集M
a

;步骤S3,将所述查询集M
a

中各元素编码为文本向量;步骤S4,将所述文本向量编辑成为输入向量,将|M
a

|个所述输入向量输入BERT模型进行预训练,通过调整权重矩阵提高所述BERT模型的预测准确度;步骤S5,利用所述验证集M
b
、结合对比调优模型验证所述BERT模型,验证过程中出现调优效果不优于所述对比调优模型的情况时,对所述权重矩阵执行fine

tuning操作;步骤S6,利用所述测试集M
c
、结合所述对比调优模型测试步骤S5处理后的BERT模型,测试完成后调优效果全部优于所述对比调优模型时,训练结束;步骤S7,利用所述步骤S6训练好的BERT模型执行新查询的查询连接顺序优化调整。2.如权利要求1所述的基于BERT的数据库查询连接顺序调整方法,其特征在于,所述步骤S3包括:步骤S31,定义数据模型M,所述数据模型M包括两种数据存储形式:
§
={λ,γ,σ,μ}、Ψ={ζ,η},其中,λ指SQL语句中查询的具体属性,γ指查询条件中限制的结果范围,σ指SQL语句中涉及的所有列的列名,μ为单表的数据量大小,ζ指SQL语句中涉及到的所有表的表名,η指两表之间的所有连接方式;步骤S32,对所述查询集M
a

中的SQL语句进行分词,得到所述SQL语句中的λ、γ、σ、ζ、η,访问数据库查询出ζ所对应的各个μ值,将λ、γ、σ、ζ、η、μ作为所述SQL语句的特征token,将提取到的各个所述特征token映射到所述数据模型M中并存储;步骤S33,学习
§
和Ψ之间的语义联系,根据
§
中的条件调整Ψ中的表顺序以及表连接方式;步骤S34,通过词向量表征方式将
§
和Ψ编码为所述SQL语句的文本向量δ。3.如权利要求2所述的基于BERT的数据库查询连接顺序调整方法,其特征在于,所述步骤S4包括:步骤S41,将|M
a

|个所述文本向量δ输入所述BERT模型,在所述BERT模型中为各所述文本向量δ添加片段向量ε和位置向量ρ,得到|M
a

|个输入向量¢,其中,¢=δ+ε+ρ;步骤S42,将各所述输入向量¢输入所述BERT模型中,对各所述输入向量¢中的Ψ数据进行随机mask掩盖,其中所述Ψ数据中的mask掩盖部分数据占所述输入向量¢的a%;步骤S43,所述BERT模型通过计算
§
与所述Ψ中未被mask掩盖的数据之间的关系对所述mask掩盖部分数据进行预测,得出mask掩盖部分预测数据,并进一步得出包含所述mask掩盖部分预测数据的输出向量¢

;步骤S44,根据所述输出向量¢
...

【专利技术属性】
技术研发人员:高锦涛王浩姜璐璐李弋杰
申请(专利权)人:宁夏大学
类型:发明
国别省市:

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

1