【技术实现步骤摘要】
一种在openGauss数据库上实现并行位图堆扫描的方法
[0001]本专利技术属于数据库并行查询
,尤其涉及一种在
openGauss
数据库上实现并行位图堆扫描的方法及系统
。
技术介绍
[0002]现有的位图堆扫描方式如下:启动一个线程,根据查询条件扫描索引记录,将涉及的数据块按编号升序排列,然后再逐个访问堆表中的数据
。
然而,当涉及的数据块较多时,由于一个线程只能串行执行,从而会导致扫描的时间过长,影响业务的吞吐量
。
[0003]因此,如何提升位图堆扫描的效率,成为亟待解决的技术问题
。
技术实现思路
[0004]为了克服现有技术中存在的缺点,提升位图堆扫描的效率,本专利技术提出了一种新的在
openGauss
数据库上实现并行位图堆扫描的方法,本方法能够显著提升位图堆扫描的执行效率
。
[0005]术语解释
[0006]事务:数据库的事务
(Transaction)
是一种机制
、
一个操作序列,包含了一组数据库操作命令
。
事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行,因此事务是一个不可分割的工作逻辑单元
。
[0007]快照:快照是数据库中实现事务隔离和并发控制的技术,快照记录了数据库运行时某个时刻点的状态,通过快照可以判断数据在事务中的可见性
。< ...
【技术保护点】
【技术特征摘要】
1.
一种在
openGauss
数据库上实现并行位图堆扫描的方法,其特征在于,所述方法包括:
S1.
生成并行位图堆扫描计划;
S2.
初始化并行位图堆扫描计划;
S3.
执行并行位图堆扫描计划
。2.
根据权利要求1所述的在
openGauss
数据库上实现并行位图堆扫描的方法,其特征在于,步骤
S1
中所述的生成并行位图堆扫描计划,包括:
S101.
判断数据库是否开启并行查询功能;
S102.
判断查询涉及的表及表上的查询条件是否支持并行查询;
S103.
生成对应表的并行位图堆扫描路径;
S104.
根据并行位图堆扫描路径生成并行位图堆扫描计划
。3.
根据权利要求2所述的在
openGauss
数据库上实现并行位图堆扫描的方法,其特征在于,步骤
S2
中所述的初始化并行位图堆扫描计划,包括:
S201.
初始化并行位图堆扫描所需的参数信息;
S202.
注册待启动的后台线程,将本线程设定为
leader
线程,其余线程设定为
worker
线程;
S203.
启动
worker
线程并初始化
。4.
根据权利要求3所述的在
openGauss
数据库上实现并行位图堆扫描的方法,其特征在于,步骤
S201
中所述的参数信息包括内存
、
通信队列
、
计划语句
、
执行参数和快照信息
。5.
根据权利要求3所述的在
openGauss
数据库上实现并行位图堆扫描的方法,其特征在于,步骤
S202
中所述的
worker
线程的数量不超过系统设置的阈值
。6.
...
【专利技术属性】
技术研发人员:王正侣,何小栋,
申请(专利权)人:广州海量数据库技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。