【技术实现步骤摘要】
一种改变数据分布的方法、装置、设备及存储介质
[0001]本专利技术实施例涉及计算机数据库
,尤其涉及一种改变数据分布的方法、装置、设备及存储介质。
技术介绍
[0002]分布式数据库是在集中式数据库的成熟技术上发展起来的,其核心理念是将数据库集群作为一个整体对外提供数据服务。分布式数据库在管理上一般仍以单一节点或少数节点作为管理节点实现查询解析、语句重写与结果合并等功能。
[0003]分布式数据库环境中,在引入公共子计划对查询计划进行优化的过程中会生成中间结果集,中间结果集分布在哪些站点,以及以何种方式分布在这些站点,对后续的计划优化影响非常大。在公共子计划生成及使用中,现有方案没有对公共子计划的结果如何分布做主动干预,仅仅是基于已有的数据分布做下一步的计划生成处理。但是,这在很多情况下会浪费优化机会,引入多余的数据传输操作。
技术实现思路
[0004]本专利技术实施例提供了一种改变数据分布的方法、装置、设备及存储介质,能够在查询执行阶段减少数据传输,进而可以提升查询性能。
[0005 ...
【技术保护点】
【技术特征摘要】
1.一种改变数据分布的方法,其特征在于,所述方法包括:遍历查询计划得到列表,当所述列表的长度不等于预设值时,对所述列表中的节点进行访问,所述列表包括所述查询计划中的所有临时存储操作符和各所述临时存储操作符对应的加载临时存储操作符;从所述列表中选取一个节点作为当前节点,根据所述查询计划的当前节点中的临时存储操作符和加载临时存储操作符获取期望临时存储操作符的数据分布方式;若所述期望临时存储操作符的数据分布方式与实际临时存储操作符的数据分布方式不一致,则按照所述期望临时存储操作符的数据分布方式对所述当前节点中的临时存储操作符进行调整,将所述当前节点中的临时存储操作符对应的实际临时存储操作符的数据分布方式调整为所述期望临时存储操作符的数据分布方式,继续从所述列表中选取下一个节点作为新的当前节点,直到所述列表中的所有节点中的临时存储分布方式都为期望临时存储操作符的数据分布方式;根据所述期望临时存储操作符的数据分布方式对每个节点中的临时存储操作符存储的数据进行分发。2.根据权利要求1所述的方法,其特征在于,根据所述查询计划的当前节点中的临时存储操作符和加载临时存储操作符获取期望临时存储操作符的数据分布方式,包括:遍历当前节点中的加载临时存储操作符,通过向上递归遍历的方式获取每个所述加载临时存储操作符对应的实际数据分布方式;根据每个所述加载临时存储操作符满足的预设条件,将所述实际数据分布方式改变为对应的目标数据分布方式,所述目标数据分布方式包括临时存储操作符原本的数据分布方式;将出现次数最多的目标数据分布方式确定为期望临时存储操作符的数据分布方式。3.根据权利要求2所述的方法,其特征在于,所述预设条件包括第一预设条件和第二预设条件,相应的,所述根据每个所述加载临时存储操作符满足的预设条件,将所述实际数据分布方式改变为目标数据分布方式,包括:若所述加载临时存储操作符满足的第一预设条件为所述加载临时存储操作符的父层节点未包含发送操作符,或所述加载临时存储操作符经过预设操作后才出现发送操作符,则将所述临时存储操作符原本的数据分布方式作为所述加载临时存储操作符对应的目标数据分布方式;若所述加载临时存储操作符满足的第二预设条件为所述加载临时存储操作符的父层节点在进行所述预设操作之前包含发送操作符,则将所述发送操作符所描述的数据分布方式作为所述加载临时存储操作符对应的目标数据分布方式。4.根据权利要求3所述的方法,其特征在于,所述预设操作包括:连接操作、分组操作以及去重操作。5.根据权利要求1所述的方法,其特征在于,按照所述期望临时存储操作符的数据分布方式对所述当前节点中的临时存储操作符进行调整,将所述当前节点中的临时存储操作符对应的...
【专利技术属性】
技术研发人员:宋鑫,张钦,韩朱忠,
申请(专利权)人:上海达梦数据库有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。