CN113515540A - 一种数据库的查询重写方法 - Google Patents

一种数据库的查询重写方法 Download PDF

Info

Publication number
CN113515540A
CN113515540A CN202110644943.8A CN202110644943A CN113515540A CN 113515540 A CN113515540 A CN 113515540A CN 202110644943 A CN202110644943 A CN 202110644943A CN 113515540 A CN113515540 A CN 113515540A
Authority
CN
China
Prior art keywords
query
rewriting
profit
neural network
query statement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110644943.8A
Other languages
English (en)
Inventor
李国良
周煊赫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN202110644943.8A priority Critical patent/CN113515540A/zh
Publication of CN113515540A publication Critical patent/CN113515540A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于信息检索技术领域,涉及一种数据库的查询重写方法。本发明首先利用策略树表示任意一个查询语句的大量等价查询和相应的重写顺序,其次,本发明基于蒙特卡洛树搜索算法在策略树上选择高收益的重写顺序,实现查询开销和重写频率的平衡;为了更准确的估计重写后查询的整体收益,本发明利用深度注意力网络学习当前查询与重写规则和访问数据的关联关系,并利用深度学习根据查询特征和提取的关联关系拟合当前查询的整体收益。最后,针对具有大规模的策略树的复杂查询,本发明提出了一种并行节点选择算法,在策略树上利用一种最优算法选择没有祖先‑后代关系且总收益最高的多个节点,并行扩展策略树,从而大幅提高查询重写效率。

Description

一种数据库的查询重写方法
技术领域
本发明属于信息检索技术领域,涉及一种数据库的查询重写方法,尤其涉及一种基于深度学习和蒙特卡洛树搜索的查询重写方法。
背景技术
查询重写通过合理的选择重写操作,可以将慢查询(如,存在冗余算子)的性能提高多个数量级。作为查询优化中的一个基本问题,查询重写旨在将结构化查询语言(StructuredQueryLanguage,SQL)转换为等效查询,但性能更高。具体而言,查询重写对查询语句进行逻辑上的等价变换(如,删除冗余算子,提升逻辑子查询),从而保证(1) 重写的查询等价于原始查询;(2)重写的查询执行时间降低。
查询重写是一个多项式复杂程度的非确定性问题,现有方法通过将查询与预定义的规则顺序进行匹配(例如谓词下推规则)来重写SQL查询。但是,这种方法的局限性在于,它们仅使用默认顺序(例如,自顶而下重写逻辑计划),没有考虑和其他重写顺序相比的相对代价收益,进而导致局部最优,甚至表现劣化。一种简单的策略,是对一些重写顺序进行采样,并根据查询开销降低最多的顺序进行重写。但是,由于存在大量潜在的重写顺序,很难通过采样保证较高的重写质量。
因此,现有重写方法仍然面临若干挑战。首先,重写顺序的搜索空间与可用规则的数量成指数关系,如何高效的表示不同的重写顺序以及相互关系。其次,给定较大的搜索空间,如何在有限预算内找到最佳顺序。第三,选择一个好的重写顺序,一个直观的想法是估计重写(或一系列多次重写)的降低开销,如果重写所减少的开销很小,则进行相应剪枝。因此,第三个挑战是如何估算重写后的开销降低。
发明内容
本发明的目的是提出一种数据库的查询重写方法,针对不同的查询语句,基于深度学习和蒙特卡洛树搜索,以较大幅度的降低数据库慢查询的执行开销。
本发明提出的数据库数据的查询重写方法,利用策略树表示任意一个查询语句的大量等价查询和相应的重写顺序,基于蒙特卡洛树搜索算法在策略树上选择高收益的重写顺序,实现查询开销和重写频率的平衡,利用深度注意力网络学习当前查询与重写规则和访问数据的关联关系,并利用深度学习根据查询特征和提取的关联关系,拟合当前查询的整体收益,利用重写收益估计网络,在策略树上利用一种最优算法选择没有祖先-后代关系且总收益最高的多个节点,并行扩展策略树,以大幅提高查询重写效率。
本发明提出的一种数据库的查询重写方法,其优点是:
本发明的数据库的查询重写方法,通过合理的选择重写的规则和应用顺序,将一条慢查询的执行效率提升多个数量级。本方法首先利用策略树表示任意一个查询语句(根节点) 的大量等价查询(非根节点)和相应的重写顺序(从根节点到非根节点的路径);其次,本发明基于蒙特卡洛树搜索算法在策略树上选择高收益的重写顺序,实现查询开销和重写频率的平衡;为了更准确的估计重写后查询的整体收益(当前查询相对于最优的目的查询的开销降低程度),本发明利用深度注意力网络学习当前查询与重写规则和访问数据的关联关系,并利用深度学习根据查询特征(如算子开销)和提取的关联关系拟合当前查询的整体收益。最后,针对具有大规模的策略树的复杂查询,本发明提出了一种并行节点选择算法,在策略树上利用一种最优算法选择没有祖先-后代关系且总收益最高的多个节点,并行扩展策略树,从而大幅提高查询重写效率。
附图说明
图1为本发明方法的流程框图。
图2是本发明方法中涉及的动态规划方法的流程框图。
图3是本发明方法中涉及的重写收益估计神经网络的架构图。
图4为本发明方法一个查询重写的实施例的示意图。
具体实施方式
本发明提出的数据库数据的查询重写方法,利用策略树表示任意一个查询语句的大量等价查询和相应的重写顺序,基于蒙特卡洛树搜索算法在策略树上选择高收益的重写顺序,实现查询开销和重写频率的平衡,利用深度注意力网络学习当前查询与重写规则和访问数据的关联关系,并利用深度学习根据查询特征和提取的关联关系,拟合当前查询的整体收益,利用重写收益估计网络,在策略树上利用一种最优算法选择没有祖先-后代关系且总收益最高的多个节点,并行扩展策略树,以大幅提高查询重写效率。
上述数据库数据的查询重写方法,其流程框图如图1所示,具体包括以下步骤:
(1)向数据库输入一个待重写的查询语句;
(2)采用基于关系代数的变换方法,将步骤(1)中的查询语句替换成等价的逻辑计划,初始化一棵只有根节点的策略树,根节点表示输入查询的逻辑计划,策略树上的每个节点属性包括全局收益值(从这个节点继续进行重写能获得的最大收益)、访问次数。根据查询语句的多种重写方式,在该策略树上扩展出属于根节点的所有子节点,每个子节点表示根节点利用一种重写方式进行重写得到的查询语句,得到初始策略树;
(3)对步骤(2)的初始策略树进行搜索,得到全局收益值最高的查询语句,包括以下步骤:
(3-1)设定最大搜索次数N(搜索次数的设定可以根据内存资源或查询重写的时间开销而定);
(3-2)采用动态规划方法,动态规划方法的流程框图如图2所示,从步骤(2)的初始策略树的根节点和多个子节点中选择k个节点,将与k个被选节点相对应的所有重写方式的查询语句作为新的子节点,扩展到初始决策树上,得到n-1次决策树,n∈[1,N];以保证所有被选的k个节点没有祖先-后代关系而且总收益值最大;
(3-3)利用重写收益估计神经网络,重写收益估计神经网络的架构图如图3所示,估计得到k个被选节点的后续收益值,后续收益值包括节点的被选次数和查询时间,具体过程如下:
(3-3-1)分别对与步骤(3-2)的k个节点相对应的查询语句、查询语句的多种重写方式和与查询语句相对应的数据库元数据进行编码,得到一个编码向量;
(3-3-2)分别将(3-3-1)中的查询语句、查询语句的重写方式和与查询语句相对应的数据库元数据的编码码输入到重写收益估计神经网络的第一注意力网络中,输出得到多种重写方式之间的相关性,并根据查询语句和数据库元数据特征,为每种重写方式生成一个压缩向量;
(3-3-3)将步骤(3-3-2)的重写方式的压缩向量输入重写收益估计神经网络的隐层神经网络,使用S形激励函数(SIGMOID)对所有重写方式的压缩向量进行归一化,并使用两层全连接神经网络进行拟合,输出得到;
(3-3-4)将步骤(3-3-3)的收益最高的重写方式的压缩向量和步骤(3-3-2)的查询语句的压缩向量输入重写收益估计神经网络的第二注意力网络中,计算重写方式与查询语句的算子特征之间的关系,输出得到一个压缩向量,将该压缩向量输入重写收益估计神经网络的输出层,进行非线性转换,输出得到与n-1次决策树上的节点相对应的查询语句的后续收益值;
(3-5)n-1次决策树上的节点分别将各自的后续收益值传递给各自的祖先节点,各祖先节点分别将接收的后续收益值与原收益值进行比较,若后续收益值大于原收益值,则用后续收益值更新原收益值,得到n次策略树;若后续收益值小于或等于原收益值,则继续与其它祖先节点的收益值进行比较,得到n次策略树;
(3-6)重复步骤(3-2)-步骤(3-5),直到完成N次迭代,得到N次策略树;
(4)对N次策略树上所有节点的后续收益值进行比较,将与N次策略树上查询时间最短的节点相对应的查询语句输出给用户,实现数据库的查询重写方法。
上述查询重写方法的步骤(3-2)中,涉及的k个节点选择,通过选择总收益最高的多个重写顺序进行探索,提高查询重写的效率,具体流程如图2所示,包括以下步骤:
(1)在上述查询重写方法的步骤(3-2)的策略树上,以自下而上的方式选择没有祖先后代关系的最优的k个节点。设
Figure BDA00031088460300000421
表示选择节点v下没有祖先后代关系的总收益值最大的i个节点,
Figure BDA0003108846030000041
表示相应的总收益值,其中U(u)表示节点u的全局收益值。
Figure BDA0003108846030000042
的计算分为以下两种情况:
(1)当v是叶节点时,计算
Figure BDA0003108846030000043
Figure BDA0003108846030000044
对于
Figure BDA0003108846030000045
(2)当v是非叶节点时,根据v的子节点计算
Figure BDA0003108846030000046
Figure BDA0003108846030000047
如果v不是叶节点,则让{c1,c2,...,cx}表示策略树中节点v的子节点集合。对于任意1≤z≤x,1≤i≤k,本发明首先计算所有子节点cz
Figure BDA0003108846030000048
Figure BDA0003108846030000049
显然,v与v下的任何子节点都有祖先后代关系,因此v只能出现在
Figure BDA00031088460300000410
中,而不会出现在
Figure BDA00031088460300000411
中。首先考虑不选择v的情况:
令M表示具有k行和x列的矩阵,M[i,j]是从{c1,…,cj}下的节点中选择具有最大收益值的i个节点的收益值:当i=1,
Figure BDA00031088460300000412
当i>1,考虑以下三种情况来计算M[i,j]:(i)不选择节点cj和节点cj下的任何子节点,即 M[i,j]=M[i,j-1];(ii)在cj下选择i个节点。因此,有
Figure BDA00031088460300000413
(iii)在cj下选择1≤z<i 的z个节点,即从前j-1个孩子中选取i-z个节点:
Figure BDA00031088460300000414
利用动态规划算法根据上式计算得到I矩阵。然后可以得到
Figure BDA00031088460300000415
并通过选择使 I[i,x]最大化的节点来获得
Figure BDA00031088460300000416
接下来,如果我们选择节点v,则只需更新
Figure BDA00031088460300000417
Figure BDA00031088460300000419
如果
Figure BDA00031088460300000420
则更新
Figure BDA0003108846030000051
最后,将
Figure BDA0003108846030000052
输出选择的k个节点,保证所选节点没有祖先后代关系而且总收益值最高。
上述查询重写方法的步骤(3-3)中,重写收益估计网络的构建和训练,如图3所示,包括以下步骤:
(1)重写收益估计网络由第一注意力网络、隐层神经网络、第二注意力网络和输出神经网络组成,所述的第一注意力网络和第二注意力网络均由余弦计算单元和单层全连接神经网络组成;所述的隐层神经网络为两层全连接神经网络;所述的输出神经网络为单层全连接神经网络;第一注意力网络的单层全连接神经网络的输入层大小为n×(m+k),输出层大小为n×(m+k),n、m、k分别表示重写方式数目、查询语句特征数、数据库元数据特征数;隐层神经网络的第一层全连接神经网络的输入层大小为n×(m+k),输出层大小为n×(m+k);隐层神经网络的第二层全连接神经网络的输入层大小为n×(m+k),输出层大小为1×(m+k);第二注意力网络的单层全连接神经网络的输入层大小为 1×(m+k),输出层大小为1×(m+k);输出神经网络的单层全连接神经网络的输入层大小为1×(m+k),输出层大小为1×1;
(2)根据数据库查询语句的访问特征,对数据库中的查询语句进行聚类,在每个聚类中选取一个查询语句,分别计算该查询语句的所有重写方式的查询时间,将其中最短的查询时间作为该聚类的所有查询语句的查询时间;
(3)从数据库中划分出80%的查询语句作为训练集,训练集中的训练数据的格式为 <q,R,D,C(q)>,其中q表示查询语句,R表示查询语句的重写规则集合,D表示查询语句的元数据特征,C(q)表示查询语句q经过后续查询重写后的最大可获得的未来收益值 (收益值表示可以减少的查询时间);
(4)用步骤(3)获得的训练集对步骤(1)的重写收益估计网络进行训练,即,将训练集的每组重写方式、查询语句和数据库元数据的编码输入到第一注意力网络,第一注意力网络输出得到表示向量;将表示向量输入隐层神经网络,隐层神经网络输出得到隐藏向量;将隐藏向量输入给第二注意力网络,第二注意力网络输出得到收益最大的重写方式的压缩向量;将压缩向量输入给输出网络,输出网络输出估计的查询语句q的后续收益值 F(q);计算估计的查询语句的后续收益值的均方误差MSE,MSE=(F(q)-C(q))2,其中F(q) 表示估计的查询语句的后续收益值,C(q)表示真实的查询语句q的后续收益值(为已知量);
(5)根据步骤(4)的均方误差,计算拉普拉斯正则项Lreg:Lreg=∑q’μq′||F(q)- F(q‘)||,其中,q’为和q在同一聚类中的任意一个除了q的查询语句,||F(q)-F(q‘)||表示L1距离,以使绝对差之和最小;Lreg表示同一聚类中的查询具有类似的开销,并且应该具有类似的后续开销降低;用拉普拉斯正则项更新重写收益估计网络;
(6)设定一个查询语句的后续收益值的均方误差的验证阈值γ,将数据库中其余20%的查询语句作为验证集,分别将验证集中所有的查询语句输入到步骤(5)的重写收益估计网络中,分别得到估计的查询语句的后续收益值的均方误差,计算所有均方误差的平均值
Figure BDA0003108846030000061
将该平均值
Figure BDA0003108846030000062
与真实的查询语句q的后续收益值
Figure BDA0003108846030000063
进行比较,若
Figure BDA0003108846030000064
则重复步骤(4)-步骤(5),直到
Figure BDA0003108846030000065
得到训练好的重写收益估计网络。
以下介绍本发明方法的一个实施例,实施例的流程框图如图4所示:
设定本发明方法数据的重写收益估计网络已经提前构建和训练,数据库中数据的查询过程如下:
(1):输入一个待重写的查询语句(原本查询时间超过20分钟),利用查询预处理模块将查询替换成等价的逻辑计划;
(2)利用策略树构建模块初始化一个只有根节点的策略树,表示输入查询;
(3)利用部署的并行重写模块在策略树上每次选择3个节点,如{v3,v12,v13},保证三个节点之间没有祖先-后代关系,而且三个节点的全局收益值的加和最大;
(4)利用部署的策略树搜索方法从被选的3个节点扩展策略树,如节点v3可以采用一种重写方式进行重写,所以v3扩展出一个子节点;
(5)用重写收益估计网络估计步骤(4)中每个被选节点的后续收益值:对于每个节点对应的查询语句q,将查询语句q、所有重写方式和数据库元数据的编码输入到第一注意力网络,第一注意力网络输出得到表示向量;将表示向量输入隐层神经网络,隐层神经网络输出得到隐藏向量;将隐藏向量输入给第二注意力网络,第二注意力网络输出得到收益最大的重写方式的压缩向量;将压缩向量输入给输出网络,输出网络输出估计的查询语句q的后续收益值;
(6)根据步骤(5)获得的3个被选节点的后续收益值,更新这3个被选节点以及他们的祖先节点的全局收益值,即,如果被选节点v的后续收益值与被选节点v的全局收益值之和大于节点v’的全局收益值(v’为节点v或节点v的祖先节点),则使得节点v’的全局收益值等于被选节点v的后续收益值与被选节点v的全局收益值之和;
(7)重复步骤(3)-步骤(6),直到达到目标收益值或最大迭代次数;
(8)将策略树上全局收益值最低的节点对应的查询语句输出给用户。

Claims (3)

1.一种数据库数据的查询重写方法,其特征在于该方法利用策略树表示任意一个查询语句的大量等价查询和相应的重写顺序,基于蒙特卡洛树搜索算法在策略树上选择高收益的重写顺序,实现查询开销和重写频率的平衡,利用深度注意力网络学习当前查询与重写规则和访问数据的关联关系,并利用深度学习根据查询特征和提取的关联关系,拟合当前查询的整体收益,利用重写收益估计网络,在策略树上利用一种最优算法选择没有祖先-后代关系且总收益最高的多个节点,并行扩展策略树,以大幅提高查询重写效率。
2.如权利要求1所述的数据库数据的查询重写方法,其特征在于,该方法具体包括以下步骤:
(1)向数据库输入一个待重写的查询语句;
(2)采用基于关系代数的变换方法,将步骤(1)中的查询语句替换成等价的逻辑计划,初始化一棵只有根节点的策略树,根节点表示输入查询的逻辑计划,根据查询语句的多种重写方式,在该策略树上扩展出属于根节点的所有子节点,每个子节点表示根节点利用一种重写方式进行重写得到的查询语句,得到初始策略树;
(3)对步骤(2)的初始策略树进行搜索,得到全局收益值最高的查询语句,包括以下步骤:
(3-1)设定最大搜索次数N;
(3-2)采用动态规划方法,从步骤(2)的初始策略树的根节点和多个子节点中选择k个节点,将与k个被选节点相对应的所有重写方式的查询语句作为新的子节点,扩展到初始决策树上,得到n-1次决策树,n∈[1,N];
(3-3)利用重写收益估计神经网络,估计得到k个被选节点的后续收益值,具体过程如下:
(3-3-1)分别对与步骤(3-2)的k个节点相对应的查询语句、查询语句的多种重写方式和与查询语句相对应的数据库元数据进行编码,得到一个编码向量;
(3-3-2)分别将(3-3-1)中的查询语句、查询语句的重写方式和与查询语句相对应的数据库元数据的编码码输入到重写收益估计神经网络的第一注意力网络中,输出得到多种重写方式之间的相关性,并根据查询语句和数据库元数据特征,为每种重写方式生成一个压缩向量;
(3-3-3)将步骤(3-3-2)的重写方式的压缩向量输入重写收益估计神经网络的隐层神经网络,使用S形激励函数(SIGMOID)对所有重写方式的压缩向量进行归一化,并使用两层全连接神经网络进行拟合,输出得到;
(3-3-4)将步骤(3-3-3)的收益最高的重写方式的压缩向量和步骤(3-3-2)的查询语句的压缩向量输入重写收益估计神经网络的第二注意力网络中,计算重写方式与查询语句的算子特征之间的关系,输出得到一个压缩向量,将该压缩向量输入重写收益估计神经网络的输出层,进行非线性转换,输出得到与n-1次决策树上的节点相对应的查询语句的后续收益值;
(3-5)n-1次决策树上的节点分别将各自的后续收益值传递给各自的祖先节点,各祖先节点分别将接收的后续收益值与原收益值进行比较,若后续收益值大于原收益值,则用后续收益值更新原收益值,得到n次策略树;若后续收益值小于或等于原收益值,则继续与其它祖先节点的收益值进行比较,得到n次策略树;
(3-6)重复步骤(3-2)-步骤(3-5),直到完成N次迭代,得到N次策略树;
(4)对N次策略树上所有节点的后续收益值进行比较,将与N次策略树上查询时间最短的节点相对应的查询语句输出给用户,实现数据库的查询重写方法。
3.如权利要求1所述的查询重写方法,其特征在于,所述的步骤(3-3)的重写收益估计网络的构建和训练,包括以下步骤:
(1)重写收益估计网络由第一注意力网络、隐层神经网络、第二注意力网络和输出神经网络组成,所述的第一注意力网络和第二注意力网络均由余弦计算单元和单层全连接神经网络组成;所述的隐层神经网络为两层全连接神经网络;所述的输出神经网络为单层全连接神经网络;第一注意力网络的单层全连接神经网络的输入层大小为n×(m+k),输出层大小为n×(m+k),n、m、k分别表示重写方式数目、查询语句特征数、数据库元数据特征数;隐层神经网络的第一层全连接神经网络的输入层大小为n×(m+k),输出层大小为n×(m+k);隐层神经网络的第二层全连接神经网络的输入层大小为n×(m+k),输出层大小为1×(m+k);第二注意力网络的单层全连接神经网络的输入层大小为1×(m+k),输出层大小为1×(m+k);输出神经网络的单层全连接神经网络的输入层大小为1×(m+k),输出层大小为1×1;
(2)根据数据库查询语句的访问特征,对数据库中的查询语句进行聚类,在每个聚类中选取一个查询语句,分别计算该查询语句的所有重写方式的查询时间,将其中最短的查询时间作为该聚类的所有查询语句的查询时间;
(3)从数据库中划分出80%的查询语句作为训练集,训练集中的训练数据的格式为<q,R,D,C(q)>,其中q表示查询语句,R表示查询语句的重写规则集合,D表示查询语句的元数据特征,C(q)表示查询语句q经过后续查询重写后的最大可获得的未来收益值;
(4)用步骤(3)获得的训练集对步骤(1)的重写收益估计网络进行训练,即,将训练集的每组重写方式、查询语句和数据库元数据的编码输入到第一注意力网络,第一注意力网络输出得到表示向量;将表示向量输入隐层神经网络,隐层神经网络输出得到隐藏向量;将隐藏向量输入给第二注意力网络,第二注意力网络输出得到收益最大的重写方式的压缩向量;将压缩向量输入给输出网络,输出网络输出估计的查询语句q的后续收益值F(q);计算估计的查询语句的后续收益值的均方误差MSE,MSE=(F(q)-C(q))2,其中F(q)表示估计的查询语句的后续收益值,C(q)表示真实的查询语句q的后续收益值;
(5)根据步骤(4)的均方误差,计算拉普拉斯正则项Lreg:Lreg=∑q’μq′||F(q)-F(q‘)||,其中,q’为和q在同一聚类中的任意一个除了q的查询语句,||F(q)-F(q‘)||表示L1距离,以使绝对差之和最小,用拉普拉斯正则项更新重写收益估计网络;
(6)设定一个查询语句的后续收益值的均方误差的验证阈值γ,将数据库中其余20%的查询语句作为验证集,分别将验证集中所有的查询语句输入到步骤(5)的重写收益估计网络中,分别得到估计的查询语句的后续收益值的均方误差,计算所有均方误差的平均值
Figure FDA0003108846020000031
将该平均值
Figure FDA0003108846020000032
与真实的查询语句q的后续收益值
Figure FDA0003108846020000033
进行比较,若
Figure FDA0003108846020000034
则重复步骤(4)-步骤(5),直到
Figure FDA0003108846020000035
得到训练好的重写收益估计网络。
CN202110644943.8A 2021-06-09 2021-06-09 一种数据库的查询重写方法 Pending CN113515540A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110644943.8A CN113515540A (zh) 2021-06-09 2021-06-09 一种数据库的查询重写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110644943.8A CN113515540A (zh) 2021-06-09 2021-06-09 一种数据库的查询重写方法

Publications (1)

Publication Number Publication Date
CN113515540A true CN113515540A (zh) 2021-10-19

Family

ID=78065344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110644943.8A Pending CN113515540A (zh) 2021-06-09 2021-06-09 一种数据库的查询重写方法

Country Status (1)

Country Link
CN (1) CN113515540A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114036510A (zh) * 2021-11-22 2022-02-11 浙江大学 一种基于蒙特卡洛树搜索的sql注入攻击优化方法
CN114637775A (zh) * 2022-03-29 2022-06-17 哈尔滨工业大学 基于蒙特卡洛树搜索和强化学习的查询优化系统、方法及设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114036510A (zh) * 2021-11-22 2022-02-11 浙江大学 一种基于蒙特卡洛树搜索的sql注入攻击优化方法
CN114036510B (zh) * 2021-11-22 2024-04-26 浙江大学 一种基于蒙特卡洛树搜索的sql注入攻击优化方法
CN114637775A (zh) * 2022-03-29 2022-06-17 哈尔滨工业大学 基于蒙特卡洛树搜索和强化学习的查询优化系统、方法及设备

Similar Documents

Publication Publication Date Title
CN111597209B (zh) 一种数据库物化视图构建系统、方法以及系统创建方法
US20230196076A1 (en) Method for optimally selecting flood-control operation scheme based on temporal convolutional network
US20070250522A1 (en) System and method for organizing, compressing and structuring data for data mining readiness
CN105512273A (zh) 一种基于可变长深度哈希学习的图像检索方法
US20030208488A1 (en) System and method for organizing, compressing and structuring data for data mining readiness
CN113515539B (zh) 一种数据库中数据的查询方法
CN113515540A (zh) 一种数据库的查询重写方法
CN110457503B (zh) 一种快速优化深度哈希图像编码方法及目标图像检索方法
CN103324954A (zh) 一种基于树结构的图像分类方法及其系统
CN115098620A (zh) 一种注意力相似度迁移的跨模态哈希检索方法
KR20190109108A (ko) 시계열 데이터의 변화를 예측하고 그 이유를 설명하는 인공지능 시스템
CN116484024A (zh) 一种基于知识图谱的多层次知识库构建方法
CN113761221A (zh) 基于图神经网络的知识图谱实体对齐方法
CN113420868A (zh) 一种基于深度强化学习的旅行商问题求解方法及求解系统
CN114595427B (zh) 基于非自回归模型的含缺失值车辆轨迹序列填补修复方法
CN116975782A (zh) 基于多层次信息融合的层次化时间序列预测方法和系统
CN114780879A (zh) 一种用于知识超图的可解释性链接预测方法
CN116304213B (zh) 基于图神经网络的rdf图数据库子图匹配查询优化方法
CN111461229B (zh) 一种基于目标传递和线搜索的深层神经网络优化及图像分类方法
CN113836174B (zh) 基于强化学习dqn算法的异步sql连接查询优化方法
CN115757464A (zh) 一种基于深度强化学习的智能物化视图查询方法
CN113536508A (zh) 一种制造网络节点分类方法及系统
CN112307288A (zh) 一种用于多渠道的用户聚类方法
CN117648646B (zh) 基于特征选择和堆叠异构集成学习的钻采成本预测方法
CN116578611B (zh) 一种孕育知识的知识管理方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination