System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据查询,尤其涉及数据查询策略优化方法、装置、终端设备以及存储介质。
技术介绍
1、随着大数据时代的来临,数据库管理系统的重要性越来越高,在过去几十年中,关于查询优化的研究一直是数据库管理系统的关键环节之一。
2、然而在查询优化中的最大挑战之一便是关于连接顺序的优化,许多研究机构或者数据库厂商为此展开了广泛的研究,但是在其产品实现中依然使用着传统的规则算法,例如在mysql数据库的优化器中依然使用着基于贪心(greedy algorithm)的算法。
3、这种方法容易导致搜索空间过于庞大,时间复杂度太高,从而影响数据库查询性能,在其他一些数据库中使用基于动态规划的算法,尽管这些数据库管理系统的优化器中采用了各种剪枝策略来降低关系连接顺序的搜索空间,但是依然无法满足现代数据的广泛增长以及连接条件的复杂化的需求。
4、因此本专利技术旨在利用深度强化学习快速决策的能力来为现代数据库管理系统快速生成多个关系最优的连接顺序。
5、上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本专利技术的主要目的在于提供一种数据查询策略优化方法、装置、终端设备以及存储介质,旨在解决数据查询无法满足现代数据的广泛增长以及连接条件的复杂化的技术问题。
2、为实现上述目的,本专利技术提供一种数据查询策略优化方法,所述数据查询策略优化方法包括以下步骤:
3、接收查询sql语句;
>4、将所述sql语句发送至预先构建的数据管理系统,通过所述数据管理系统对所述sql语句的初始查询策略进行优化,得到最终查询策略,其中,所述数据管理系统基于解析器、智能体、优化器以及执行器得到;
5、其中,所述将所述sql语句发送至预先构建的数据管理系统,通过所述数据管理系统对所述sql语句的初始查询策略进行优化,得到最终查询策略的步骤包括:
6、通过所述解析器将所述sql语句进行解析,获取抽象语法ast树;
7、对所述ast树进行向量化,获取所述ast树的初始状态;
8、根据预设的循环神经网络lstm,通过所述智能体对所述初始查询策略进行初始化,获取初始策略函数以及初始价值函数;
9、基于所述初始策略函数以及所述初始状态生成执行计划,并根据所述执行计划得到执行结果;
10、根据所述执行结果,通过所述智能体对所述初始策略函数以及初始价值函数进行优化,获取最终策略函数以及最终价值函数;
11、基于所述最终策略函数以及最终价值函数生成最终查询策略。
12、可选的,所述基于所述初始策略函数以及所述初始状态生成执行计划,并根据所述执行计划得到执行结果的步骤包括:
13、将所述初始状态输入所述初始策略函数进行重复计算,获取查询动作以及最终状态;
14、根据所述查询动作以及最终状态,通过所述优化器进行计划生成,获取执行计划;
15、根据所述执行计划,通过所述执行器进行计划执行,获取执行结果。
16、可选的,所述根据所述查询动作以及最终状态,通过所述优化器进行计划生成,获取执行计划的步骤包括:
17、通过所述优化器对所述查询动作进行解析,获取优化决策;
18、基于所述优化决策,通过所述优化器输出查询树,并基于所述最终状态对所述查询树进行计划节点创建,获取执行计划。
19、可选的,所述根据所述执行结果,通过所述智能体对所述初始策略函数以及初始价值函数进行优化,获取最终策略函数以及最终价值函数的步骤包括:
20、根据所述执行结果,通过所述优化器的成本模型进行计算,获取运算奖励值;
21、根据所述循环神经网络lstm以及运算奖励值,通过策略梯度算法ppo进行函数构建,获取损失函数;
22、根据所述损失函数,通过所述智能体对所述初始策略函数以及初始价值函数进行优化,获取最终策略函数以及最终价值函数。
23、可选的,所述根据所述循环神经网络lstm以及运算奖励值,通过策略梯度算法ppo进行函数构建,获取损失函数的步骤包括:
24、对所述查询动作进行熵值计算,获取所述初始策略函数的查询熵值;
25、基于所述初始价值函数进行函数构建,得到价值损失函数;
26、通过所述运算奖励值以及预设的优势函数对所述lstm的更新幅度进行限制,获取近端比率裁剪损失值;
27、基于所述查询熵值、价值损失函数以及近端比率裁剪损失值,通过策略梯度算法ppo进行函数构建,获取损失函数。
28、可选的,所述根据所述执行结果,通过所述优化器的成本模型进行计算,获取运算奖励值的步骤包括:
29、基于所述成本模型的深度学习算法对所述执行结果进行数据计算,获取中央处理器占用数据以及内存占用数据;
30、根据所述中央处理器占用数据以及内存占用数据,获取数据传输成本以及中央处理器的运行成本;
31、根据预设的成本权重值,通过所述数据传输成本以及运行成本进行奖励计算,获取运算奖励值。
32、本专利技术实施例还提出一种数据查询策略优化装置,所述数据查询策略优化装置包括:
33、接收模块,用于接收查询sql语句;
34、优化模块,用于将所述sql语句发送至预先构建的数据管理系统,通过所述数据管理系统对所述sql语句的初始查询策略进行优化,得到最终查询策略,其中,所述数据管理系统基于解析器、智能体、优化器以及执行器得到;
35、其中,所述优化模块还用于通过所述解析器对所述sql语句进行解析,获取抽象语法ast树;
36、对所述ast树进行向量化,获取所述ast树的初始状态;
37、根据预设的循环神经网络lstm,通过所述智能体对所述初始查询策略进行初始化,获取初始策略函数以及初始价值函数;
38、基于所述初始策略函数以及所述初始状态生成执行计划,并根据所述执行计划得到执行结果;
39、根据所述执行结果,通过所述智能体对所述初始策略函数以及初始价值函数进行优化,获取最终策略函数以及最终价值函数;
40、基于所述最终策略函数以及最终价值函数生成最终查询策略。
41、本专利技术实施例还提出了一种终端设备所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据查询策略优化程序,所述数据查询策略优化程序被所述处理器执行时实现如上所述的数据查询策略优化方法的步骤。
42、本专利技术实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据查询策略优化程序,所述数据查询策略优化程序被处理器执行时实现如上所述的数据查询策略优化方法的步骤。
43、本专利技术实施例提出的一种数据查询策略优化方法、装置、终端设备以及存储介质,通过接收查询sql语句;将所述sql本文档来自技高网...
【技术保护点】
1.一种数据查询策略优化方法,其特征在于,所述数据查询策略优化方法包括以下步骤:
2.根据权利要求1所述的数据查询策略优化方法,其特征在于,所述基于所述初始策略函数以及所述初始状态生成执行计划,并根据所述执行计划得到执行结果的步骤包括:
3.根据权利要求2所述的数据查询策略优化方法,其特征在于,所述根据所述查询动作以及最终状态,通过所述优化器进行计划生成,获取执行计划的步骤包括:
4.根据权利要求1所述的数据查询策略优化方法,其特征在于,所述根据所述执行结果,通过所述智能体对所述初始策略函数以及初始价值函数进行优化,获取最终策略函数以及最终价值函数的步骤包括:
5.根据权利要求4所述的数据查询策略优化方法,其特征在于,所述根据所述循环神经网络LSTM以及运算奖励值,通过策略梯度算法PPO进行函数构建,获取损失函数的步骤包括:
6.根据权利要求4所述的数据查询策略优化方法,其特征在于,所述根据所述执行结果,通过所述优化器的成本模型进行计算,获取运算奖励值的步骤包括:
7.一种数据查询策略优化装置,其特征在于,所
8.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据查询策略优化程序,所述数据查询策略优化程序被所述处理器执行时实现如权利要求1-6中任一项所述的数据查询策略优化方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据查询策略优化程序,所述数据查询策略优化程序被处理器执行时实现如权利要求1-6中任一项所述的数据查询策略优化方法的步骤。
...【技术特征摘要】
1.一种数据查询策略优化方法,其特征在于,所述数据查询策略优化方法包括以下步骤:
2.根据权利要求1所述的数据查询策略优化方法,其特征在于,所述基于所述初始策略函数以及所述初始状态生成执行计划,并根据所述执行计划得到执行结果的步骤包括:
3.根据权利要求2所述的数据查询策略优化方法,其特征在于,所述根据所述查询动作以及最终状态,通过所述优化器进行计划生成,获取执行计划的步骤包括:
4.根据权利要求1所述的数据查询策略优化方法,其特征在于,所述根据所述执行结果,通过所述智能体对所述初始策略函数以及初始价值函数进行优化,获取最终策略函数以及最终价值函数的步骤包括:
5.根据权利要求4所述的数据查询策略优化方法,其特征在于,所述根据所述循环神经网络lstm以及运算奖励值,通过策略梯度算...
【专利技术属性】
技术研发人员:王龙,王祯,杨钊,
申请(专利权)人:矩阵起源深圳信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。