当前位置: 首页 > 专利查询>复旦大学专利>正文

一种双层结构的索引及其查询方法技术

技术编号:24995775 阅读:28 留言:0更新日期:2020-07-24 17:58
本发明专利技术涉及一种双层结构的索引及其查询方法,该索引结构包括:连接两层的逻辑块索引:对逻辑块构建的索引,能够确定任意数据出现的第一个逻辑块,逻辑块是对按一定顺序排列的数据划分得到的数据块;构成第一层的一组位向量:每个位向量包括N个比特,比特表示数据是否存在于某个逻辑块中;构成第二层的rowID序列:按照数据顺序排列存储的数据在原数据序列中的位置。第一层能够筛选出绝大多数符合检索条件的数据,生成一个尽可能接近最终结果的中间结果;第二层利用rowID序列完善第一层生成的中间结果,从而得到准确的最终结果。与现有技术相比,本发明专利技术能够减少随机访存、减少访问无关数据,能够加速对列式内存数据库的查询操作。

【技术实现步骤摘要】
一种双层结构的索引及其查询方法
本专利技术涉及数据库领域,尤其是涉及一种双层结构的索引及其查询方法。
技术介绍
在现有的分析型数据库中,访问路径选择对查询执行的性能来说十分重要。现有的扫描方法存在无法改善的低效性:顺序扫描需要访问大量不需要的数据;索引扫描需要进行大量开销昂贵的随机访存。这些内在的低效性会导致这些方法无法达到最优的性能。随着数据库中的工作量越来越复杂,在访问路径选择阶段越来越难以预测出最优的方案。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种双层结构的索引及其查询方法。本专利技术的目的可以通过以下技术方案来实现:一种双层结构的索引,包括第一层和第二层,所述第一层和第二层之间通过逻辑块索引连接;所述逻辑块索引是对逻辑块构建的索引,所述逻辑块是对按一定顺序排列的数据划分得到的数据块;所述第一层包括一组位向量,每个位向量包括N个比特,N为数据总数,所述比特表示数据是否存在于某个逻辑块中;所述第二层包含一组rowID序列,表示按照一定顺序排列存储的本文档来自技高网...

【技术保护点】
1.一种双层结构的索引,其特征在于,包括第一层和第二层,所述第一层和第二层之间通过逻辑块索引连接;/n所述逻辑块索引是对逻辑块构建的索引,所述逻辑块是对按一定顺序排列的数据划分得到的数据块;/n所述第一层包括一组位向量,每个位向量包括N个比特,N为数据总数,所述比特表示数据是否存在于某个逻辑块中;/n所述第二层包含一组rowID序列,表示按照一定顺序排列存储的数据在原数据序列中的位置,每个逻辑块对应rowID序列的一段;所述rowID序列记录数据位置的顺序与划分逻辑块时数据的排列顺序相同。/n

【技术特征摘要】
1.一种双层结构的索引,其特征在于,包括第一层和第二层,所述第一层和第二层之间通过逻辑块索引连接;
所述逻辑块索引是对逻辑块构建的索引,所述逻辑块是对按一定顺序排列的数据划分得到的数据块;
所述第一层包括一组位向量,每个位向量包括N个比特,N为数据总数,所述比特表示数据是否存在于某个逻辑块中;
所述第二层包含一组rowID序列,表示按照一定顺序排列存储的数据在原数据序列中的位置,每个逻辑块对应rowID序列的一段;所述rowID序列记录数据位置的顺序与划分逻辑块时数据的排列顺序相同。


2.根据权利要求1所述的一种双层结构的索引,其特征在于,所述逻辑块的生成方法为:按升序排列数据,将数据等分成K个逻辑块,每个逻辑块包含N/K个数据,记为A={A1,A2,...,AK}。


3.根据权利要求2所述的一种双层结构的索引,其特征在于,所述K个逻辑块的划分满足如下条件:
Aimin≤Aimax≤A(i+1)min≤A(i+1)max
其中,Aimin和Aimax分别表示逻辑块Ai中的最小值和最大值,A(i+1)min和A(i+1)max分别表示逻辑块Ai+1中的最小值和最大值。


4.根据权利要求1所述的一种双层结构的索引,其特征在于,所述逻辑块索引能够确定任意数据出现的第一个逻辑块。


5.根据权利要求2所述的一种双层结构的索引,其特征在于,所述第一层包含K+1个位向量,记为F={F0,F1,F2,...,FK-1,FK},F0为所有比特位全为0的位向量,第i个位向量Fi的第j个比特表示原数据序列中的第j个数据是否在中。


6.根据权利要求5所述的一种双层结构的索引,其特征在于,所述第二层根据第一层得到的位向量确定需修正的数据区间,修正第一层结果中属于该数据区间的查询参数所在逻辑块中数据对应的比特位。


7.根据权利要求6所述的一种双层结构的索引,其特征在于,所述第二层在修正第一层的结果时采用内存预取技术。


8.一种权利要求1~7任一所述的...

【专利技术属性】
技术研发人员:何文张凯郭家鼎李林蔚王晓阳
申请(专利权)人:复旦大学
类型:发明
国别省市:上海;31

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

1