System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 物化视图增量刷新方法、装置、设备及介质制造方法及图纸_技高网

物化视图增量刷新方法、装置、设备及介质制造方法及图纸

技术编号:40960731 阅读:2 留言:0更新日期:2024-04-18 20:39
本申请提供一种物化视图增量刷新方法、装置、设备及介质,涉及数据库技术领域。该方法包括:响应于获取到对物化视图的刷新指令,获取目标基表中在本次刷新时相关目标增量数据对应的至少一条相关操作日志,目标增量数据以元组的形式进行刷新;逐条按照以下操作处理各相关操作日志,以在处理完各相关操作日志后,获得刷新后的物化视图;以下操作包括:响应于相关操作日志为插入类型,从目标基表中获取相关操作日志对应操作的元组,并插入到物化视图中;响应于相关操作日志为删除类型,删除物化视图中与相关操作日志对应操作的元组相同位置的元组。上述方式提高了刷新效率。

【技术实现步骤摘要】

本申请涉及数据库,尤其涉及一种物化视图增量刷新方法、装置、设备及介质


技术介绍

1、物化视图是包括对基表查询结果的数据库对象,是一种物理表,能够向用户提供基表中的数据。用户通过物化视图查询数据,提高了数据查询效率。由于物化视图中的数据源自基表,因此在基表中数据发生变化后,需要对物化视图进行刷新,以保证物化视图中的数据与基表中的数据保持一致。

2、物化视图的更新方式有全量刷新和增量刷新,由于增量刷新的效率高于全量刷新,因此其使用范围更为广泛。现有的增量刷新方式虽然能够将基表在本次刷新时相关增量数据刷新到物化视图中,但是存在大量的无效刷新操作,导致刷新效率慢。


技术实现思路

1、本申请提供了一种物化视图增量刷新方法、装置、设备及介质,用以解决物化视图刷新效率低的问题。

2、根据本申请的第一方面,提供了一种物化视图增量刷新方法,包括:

3、响应于获取到对物化视图的刷新指令,获取目标基表中在本次刷新时相关目标增量数据对应的至少一条相关操作日志,所述目标增量数据以元组的形式进行刷新;

4、逐条按照以下操作处理各所述相关操作日志,以在处理完各所述相关操作日志后,获得刷新后的物化视图;以下操作包括:

5、响应于所述相关操作日志为插入类型,确定所述相关操作日志对应操作的元组与目标基表中对应位置的元组是否一致,若否,则移除所述相关操作日志,若是,则将所述相关操作日志对应操作的元组插入到所述物化视图对应位置;

6、响应于所述相关操作日志为删除类型,删除所述物化视图中与所述相关操作日志对应操作的元组相同位置的元组。

7、可选地,在确定所述相关操作日志对应操作的元组与目标基表中对应位置的元组是否一致之后,所述方法还包括:

8、若否,则将此条所述相关操作日志暂存到预先建立好的队列中;

9、所述移除所述相关操作日志,包括:

10、响应于目标增量数据对应的此条所述相关操作日志之后的相关操作日志为删除类型时,从所述队列中移除此条所述相关操作日志。

11、可选地,在逐条按照以下操作处理各所述相关操作日志之后,还包括:

12、判断所述队列中的相关操作日志数量是否为预设数量;

13、若是,则获得刷新后的物化视图。

14、可选地,所述确定所述相关操作日志对应操作的元组与目标基表中对应位置的元组是否一致,包括:

15、获取所述相关操作日志对应操作的元组的标识和所述目标基表中对应位置的元组的标识;

16、确定所述相关操作日志对应操作的元组的标识与目标基表中对应位置的元组的标识是否一致。

17、可选地,在判断所述队列中的相关操作日志数量是否为预设数量之后,所述方法还包括:

18、若否,则确定所述物化视图刷新失败;

19、对所述物化视图进行回滚处理,以恢复所述物化视图到刷新前的状态,并显示刷新失败需重试的提示信息。

20、可选地,在响应于获取到对物化视图的刷新指令,获取目标基表中在本次刷新时相关目标增量数据对应的至少一条相关操作日志之前,所述方法还包括:

21、创建目标基表和物化视图;

22、响应于获取到对所述目标增量数据的操作指令,创建与所述操作指令对应的相关操作日志;其中,所述操作指令为插入操作对应的第一指令、删除操作对应的第二指令或更改操作对应的第三指令。

23、可选地,所述逐条按照以下操作处理各所述相关操作日志,包括:

24、获取各条所述相关操作日志的唯一索引;

25、根据所述唯一索引,逐条按照以下操作处理各所述相关操作日志。

26、根据本申请的第二方面,提供了一种物化视图增量刷新装置,包括:

27、获取模块,用于响应于获取到对物化视图的刷新指令,获取目标基表中在本次刷新时相关目标增量数据对应的至少一条相关操作日志,所述目标增量数据以元组的形式进行刷新;

28、处理模块,用于逐条按照以下操作处理各所述相关操作日志,以在处理完各所述相关操作日志后,获得刷新后的物化视图;以下操作包括:

29、响应于所述相关操作日志为插入类型,确定所述相关操作日志对应操作的元组与目标基表中对应位置的元组是否一致,若否,则移除所述相关操作日志,若是,则将所述相关操作日志对应操作的元组插入到所述物化视图对应位置;

30、响应于所述相关操作日志为删除类型,删除所述物化视图中与所述相关操作日志对应操作的元组相同位置的元组。

31、根据本申请的第三方面,提供了一种电子设备,包括:至少一个处理器和存储器;

32、所述存储器存储计算机执行指令;

33、所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面所述的物化视图增量刷新方法。

34、根据本申请的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上第一方面所述的物化视图增量刷新方法。

35、根据本申请的第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的物化视图增量刷新方法。

36、本申请提供的一种物化视图增量刷新方法,包括:响应于获取到对物化视图的刷新指令,获取目标基表中在本次刷新时相关目标增量数据对应的至少一条相关操作日志,目标增量数据以元组的形式进行刷新;逐条按照以下操作处理各相关操作日志,以在处理完各相关操作日志后,获得刷新后的物化视图;以下操作包括:响应于相关操作日志为插入类型,确定相关操作日志对应操作的元组与目标基表中对应位置的元组是否一致,若否,则移除相关操作日志,若是,则将相关操作日志对应操作的元组插入到物化视图对应位置;响应于相关操作日志为删除类型,删除物化视图中与相关操作日志对应操作的元组相同位置的元组。

37、本申请在对物化视图进行增量刷新过程中,将目标增量数据以元组的形式进行刷新,提高了刷新效率。在此基础上,本申请在相关操作日志为插入类型时,判断相关操作日志对应操作的元组与目标基表中对应位置的元组是否一致,若不一致,则移除相关操作日志;其中不一致表明相关操作日志对应操作的元组后续经历了删除操作,本申请不再根据相关操作日志将目标基表中对应位置的元组插入到物化视图中,减少了不必要的插入操作,进一步提高了物化视图的刷新效率。

38、应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。

本文档来自技高网...

【技术保护点】

1.一种物化视图增量刷新方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在确定所述相关操作日志对应操作的元组与目标基表中对应位置的元组是否一致之后,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,在逐条按照以下操作处理各所述相关操作日志之后,还包括:

4.根据权利要求1所述的方法,其特征在于,所述确定所述相关操作日志对应操作的元组与目标基表中对应位置的元组是否一致,包括:

5.根据权利要求3所述的方法,其特征在于,在判断所述队列中的相关操作日志数量是否为预设数量之后,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,在响应于获取到对物化视图的刷新指令,获取目标基表中在本次刷新时相关目标增量数据对应的至少一条相关操作日志之前,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述逐条按照以下操作处理各所述相关操作日志,包括:

8.一种物化视图增量刷新装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;</p>

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一项所述的物化视图增量刷新方法。

...

【技术特征摘要】

1.一种物化视图增量刷新方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在确定所述相关操作日志对应操作的元组与目标基表中对应位置的元组是否一致之后,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,在逐条按照以下操作处理各所述相关操作日志之后,还包括:

4.根据权利要求1所述的方法,其特征在于,所述确定所述相关操作日志对应操作的元组与目标基表中对应位置的元组是否一致,包括:

5.根据权利要求3所述的方法,其特征在于,在判断所述队列中的相关操作日志数量是否为预设数量之后,所述方法还包括:

6.根据权...

【专利技术属性】
技术研发人员:谢军波马玲王建华
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:

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

1