1 .一种并行创建openGauss分区表索引方法,其特征在于,包括:
针对分区表以及所述分区表的直接分区构建分区表索引所需的数据字典信息;
针对每一个分区和子分区,按照自底向上的顺序,扫描每个分区和子分区中所有可见
元组并行构建索引;
针对每一个分区和子分区,按照自底向上的顺序,合并创建增量数据的索引。
2.根据权利要求1所述的并行创建openGauss分区表索引方法,其特征在于,针对分区
表以及与所述分区表的直接分区构建分区表索引所需的数据字典信息的步骤包括:
开启一个第一事务;
在所述第一事务中,循环找到所述分区表以及所述分区表的直接分区;
在检查确定对所述分区表以及所述分区表的直接分区建立索引的语法和功能没有错
误时,对分区表以及所述分区表的直接分区构建分区表索引所需的数据字典信息;
加一个会话锁,提交所述第一事务。
3 .根据权利要求2所述的并行创建openGauss分区表索引方法,其特征在于,所述数据
字典信息包括表元数据信息缓存、对象数据字典以及索引数据字典。
4 .根据权利要求1-3中任一项所述的并行创建openGauss分区表索引方法,其特征在
于,扫描每个分区和子分区中所有可见元组并行构建索引的步骤包括:
使用共享锁等待分区或子分区上所有的DML事务结束;
开启一个第二事务;
获取快照,扫描所述分区或子分区中的所有可见元组并行构建索引;
提交所述第二事务。
5 .根据权利要求4所述的并行创建openGauss分区表索引方法,其特征在于,合并创建
增量数据的索引的步骤包括:
使用共享锁等待分区或子分区上所有的DML事务结束;
开启第三事务;
获取快照,针对所述分区或子分区上的增量数据,合并并发创建索引;
提交所述第三事务。
6 .一种并行创建openGauss分区表索引装置,其特征在于,包括:
分区表索引数据字典模块,用于针对分区表以及所述分区表的直接分区构建分区表索
引所需的数据字典信息;
分区表索引模块,用于针对每一个分区和子分区,按照自底向上的顺序,扫描每个分区
和子分区中所有可见元组并行构建索引;
增量数据索引模块,用于针对每一个分区和子分区,按照自底向上的顺序,合并创建增
量数据的索引。
7 .根据权利要求6所述的并行创建openGauss分区表索引装置,其特征在于,所述分区
表索引数据字典模块具体用于:开启一个第一事务;在所述第一事务中,循环找到所述分区
表以及所述分区表的直接分区;在检查确定对所述分区表以及所述分区表的直接分区建立
索引的语法和功能没有错误时,对分区表以及所述分区表的直接分区构建分区表索引所需
的数据字典信息;以及加一个会话锁,提交所述第一事务。
8.根据权利要求7所述的并行创建openGauss分区表索引装置,其特征在于,所述分区
权 利 要 求 书
1/2 页
2
相关文档
评论