System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种生成物化视图候选集的方法和数据库管理装置制造方法及图纸_技高网

一种生成物化视图候选集的方法和数据库管理装置制造方法及图纸

技术编号:40072548 阅读:8 留言:0更新日期:2024-01-17 00:24
本申请提供一种生成物化视图候选集的方法和数据库管理装置,该方法包括:获取至少两个数据库操作语句之后将每个数据库操作语句转换成执行计划树,确定执行计划树中非叶节点的目标哈希值之后,根据非叶节点的目标哈希值将全部非叶节点分成多个节点集合,再确定与每个节点集合的最高非叶节点对应的目标子树,当至少两个目标子树的根节点具有相同的目标哈希值时,将至少两个目标子树进行合并;根据全部或部分目标子树生成物化视图候选集。哈希值匹配比连接关系匹配更快,因此可以提高生成物化视图候选集的效率。

【技术实现步骤摘要】

本申请涉及数据库领域,尤其涉及一种生成物化视图候选集的方法和数据库管理装置


技术介绍

1、物化视图可以把耗时操作的结果预先保存。当执行数据库操作语句时,可以直接从物化视图获取查询结果,由于避免了耗时操作,因此可以提高查询效率。

2、生成物化视图的第一步是生成物化视图候选集。目前有一种生成物化视图候选集的方法大致如下:获取至少两个sql语句的join连接表,根据join连接表中相同的连接关系确定join连接表的子集,根据join连接表的子集生成物化视图候选集。

3、上述方法需要逐一比较join连接表的连接关系,因此生成物化视图候选集的效率不高。


技术实现思路

1、有鉴于此,本申请提供一种生成物化视图候选集的方法,能够获取sql算子的目标哈希值之后进行哈希值匹配,哈希值匹配比连接关系匹配的速度更快,因此能够提高生成物化视图候选集的速度。

2、第一方面提供一种生成物化视图候选集的方法,该方法包括:获取至少两个数据库操作语句之后,将每个数据库操作语句转换成执行计划树,然后确定执行计划树中非叶节点的目标哈希值,根据非叶节点的目标哈希值将全部非叶节点分成多个节点集合,再确定与每个节点集合的最高非叶节点对应的目标子树,当至少两个目标子树的根节点具有相同的目标哈希值时,将至少两个目标子树进行合并;根据全部或部分目标子树生成物化视图候选集。其中,节点集合与非叶节点的目标哈希值一一对应。

3、当不同的子树中根节点具有相同的哈希值时,表明两个子树对应的子查询相同或相似。与根据连接关系识别相同子查询或相似子查询相比,根据哈希值识别相同子查询或相似子查询的速度更快,因此可以提高生成物化视图候选集的效率。

4、结合第一方面,在第一种可能的实现方式中,确定执行计划树中非叶节点的目标哈希值包括:当非叶节点为数据拓展型算子时,根据非叶节点的关联信息确定非叶节点的本地哈希值,根据非叶节点的本地哈希值和非叶节点的子节点的目标哈希值确定非叶节点的目标哈希值;当非叶节点为非数据拓展型算子时,确定非叶节点的目标哈希值为非叶节点的子节点的目标哈希值。这样提供了计算数据拓展型算子的目标哈希值和非数据拓展型算子的目标哈希值的方法。

5、结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,根据非叶节点的本地哈希值和子节点的目标哈希值确定非叶节点的目标哈希值包括步骤a至步骤f,步骤a包括将非叶节点的目标哈希值设为非叶节点的本地哈希值;步骤b包括将i设为1;步骤c包括将非叶节点的目标哈希值和第i个子节点的目标哈希值进行哈希;步骤d包括将非叶节点的目标哈希值更新为在步骤c得到的哈希值;步骤e包括将i更新为i+1;步骤f包括当i不等于n+1时,触发步骤c~步骤e,直至i等于n+1为止。i和n均为整数。这样提供了迭代计算非叶节点的目标哈希值的方法,能够降低不同非叶节点的哈希值之间的冲突。

6、结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,根据非叶节点的本地哈希值和非叶节点的子节点的目标哈希值确定非叶节点的目标哈希值包括:确定非叶节点的子节点的目标哈希值;将非叶节点的所有子节点的目标哈希值组合为字符串;将非叶节点的本地哈希值与字符串进行哈希,以得到非叶节点的目标哈希值。这样提供了另一种计算非叶节点的目标哈希值的方法,能够降低不同非叶节点的哈希值之间的冲突。

7、结合第一方面的以上可能的实现方式,在第四种可能的实现方式中,当非叶节点为join算子时,非叶节点的关联信息为join算子的连接类型和join条件;当非叶节点为union算子时,非叶节点的关联信息为union算子的标识;当非叶节点为aggregate算子时,非叶节点的关联信息为aggregate算子的标识。union算子的标识可以是但不限于union算子的名称。aggregate算子的标识可以是但不限于aggregate算子的名称。由此提供了几种非数据扩展型算子的关联信息,由此可以计算出上述算子的本地哈希值。

8、第二方面提供一种数据库管理装置,该数据库管理装置包括获取单元,编译单元,哈希单元和生成单元,获取单元用于获取至少两个数据库操作语句;编译单元用于将每个数据库操作语句转换成执行计划树;哈希单元用于确定执行计划树中非叶节点的目标哈希值;生成单元用于根据非叶节点的目标哈希值将全部非叶节点分成多个节点集合,节点集合与非叶节点的目标哈希值一一对应;确定与每个节点集合的最高非叶节点对应的目标子树;当至少两个目标子树的根节点具有相同的目标哈希值时,将至少两个目标子树进行合并;根据全部或部分目标子树生成物化视图候选集。

9、结合第二方面,在第二方面的第一种可能的实现方式中,哈希单元具体用于当非叶节点为数据拓展型算子时,根据非叶节点的关联信息确定非叶节点的本地哈希值,根据非叶节点的本地哈希值和非叶节点的子节点的目标哈希值确定非叶节点的目标哈希值;当非叶节点为非数据拓展型算子时,确定非叶节点的目标哈希值为非叶节点的子节点的目标哈希值。

10、结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,哈希单元具体用于执行步骤a至步骤f:步骤a包括将非叶节点的目标哈希值设为非叶节点的本地哈希值;步骤b包括将i设为1;步骤c包括将非叶节点的目标哈希值和第i个子节点的目标哈希值进行哈希;步骤d包括将非叶节点的目标哈希值更新为在步骤c得到的哈希值;步骤e包括将i更新为i+1;步骤f包括当i不等于n+1时,触发步骤c~步骤e,直至i等于n+1为止。非叶节点包括n个子节点,i和n均为整数。

11、结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,哈希单元具体用于确定非叶节点的子节点的目标哈希值;将非叶节点的所有子节点的目标哈希值组合为字符串;将非叶节点的本地哈希值与字符串进行哈希,以得到非叶节点的目标哈希值。

12、结合第二方面的以上可能的实现方式,在第二方面的第四种可能的实现方式中,当非叶节点为join算子时,非叶节点的关联信息为join算子的连接类型和join条件;当非叶节点为union算子时,非叶节点的关联信息为union算子的标识;当非叶节点为aggregate算子时,非叶节点的关联信息为aggregate算子的标识。

13、其中,获取单元、编译单元、哈希单元和生成单元均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以获取单元为例,介绍获取单元的实现方式。类似的,编译单元、哈希单元和生成单元的实现方式可以参考获取单元的实现方式。

14、模块作为软件功能单元的一种举例,获取单元可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,获取单元可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的本文档来自技高网...

【技术保护点】

1.一种生成物化视图候选集的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述确定所述执行计划树中非叶节点的目标哈希值包括:

3.根据权利要求2所述的方法,其特征在于,所述非叶节点包括N个子节点;

4.根据权利要求2所述的方法,其特征在于,所述根据所述非叶节点的本地哈希值和所述非叶节点的子节点的目标哈希值确定所述非叶节点的目标哈希值包括:

5.根据权利要求2至4中任一项所述的方法,其特征在于,

6.一种数据库管理装置,其特征在于,包括:

7.根据权利要求6所述的装置,其特征在于,

8.根据权利要求7所述的装置,其特征在于,所述非叶节点包括N个子节点;

9.根据权利要求7所述的装置,其特征在于,所述哈希单元具体用于确定所述非叶节点的子节点的目标哈希值;将所述非叶节点的所有子节点的目标哈希值组合为字符串;将所述非叶节点的本地哈希值与所述字符串进行哈希,以得到所述非叶节点的目标哈希值。

10.根据权利要求6至9中任一项所述的装置,其特征在于,当所述非叶节点为join算子时,所述非叶节点的关联信息为join算子的连接类型和join条件;当所述非叶节点为union算子时,所述非叶节点的关联信息为union算子的标识;当所述非叶节点为aggregate算子时,所述非叶节点的关联信息为aggregate算子的标识。

11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,其特征在于,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1至5中任一项所述的方法。

...

【技术特征摘要】

1.一种生成物化视图候选集的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述确定所述执行计划树中非叶节点的目标哈希值包括:

3.根据权利要求2所述的方法,其特征在于,所述非叶节点包括n个子节点;

4.根据权利要求2所述的方法,其特征在于,所述根据所述非叶节点的本地哈希值和所述非叶节点的子节点的目标哈希值确定所述非叶节点的目标哈希值包括:

5.根据权利要求2至4中任一项所述的方法,其特征在于,

6.一种数据库管理装置,其特征在于,包括:

7.根据权利要求6所述的装置,其特征在于,

8.根据权利要求7所述的装置,其特征在于,所述非叶节点包括n个子节点;

9.根据权利要求7所述的装置,其特征在于,...

【专利技术属性】
技术研发人员:王成彭政钦
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1