[发明专利]一种用于列数据库的单表多列序存储方法有效
申请号: | 201110392033.1 | 申请日: | 2011-11-30 |
公开(公告)号: | CN102521303A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 杨尚;王鸿翔;冯玉;李祥凯;冷建全 | 申请(专利权)人: | 北京人大金仓信息技术股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京汲智翼成知识产权代理事务所(普通合伙) 11381 | 代理人: | 陈曦;郭亚芳 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 数据库 单表多列序 存储 方法 | ||
1.一种用于列数据库的单表多列序存储方法,所述列数据库包括多个由行和列构成的数据表,所述数据表被划分为多个列集合,所述列集合包括一个或多个列,并且所述列集合的并集构成所述数据表,其特征在于:
所述列集合两两之间建立连接索引,所述连接索引记录建立了连接索引的两个列集合中,属于所述数据表的同一元组的列的存储位置的一一对应关系。
2.如权利要求1所述的用于列数据库的单表多列序存储方法,其特征在于包括下述步骤:
对每个列集合,按照属于所述数据表的同一元组的、两个列集合中的列的存储位置值,建立连接索引;
将所述连接索引对应存储到所述每个列集合中,并与所述每个列集合中的所述列对应。
3.如权利要求1所述的用于列数据库的单表多列序存储方法,其特征在于包括下述步骤:
如果两个列集合包含重复列,则按照所述重复列,对所述两个列集合的行进行排序并存储;
如果两个列集合没有重复列,则将所述两个列集合的行,分别按照查询条件来排序并存储。
4.如权利要求3所述的用于列数据库的单表多列序存储方法,其特征在于:
对于没有重复列的所述两个列集合,如果逻辑顺序相同则不建立连接索引,如果逻辑顺序不相同则建立连接索引。
5.如权利要求3所述的用于列数据库的单表多列序存储方法,其特征在于:
对于有重复列的所述两个列集合,不建立连接索引。
6.如权利要求2所述的用于列数据库的单表多列序存储方法,其特征在于:
估计每个执行计划所需的代价,根据最优代价选择连接索引。
7.如权利要求1所述的用于列数据库的单表多列序存储方法,其特征在于包括下述创建列集合的步骤:
在判断所述数据表的全部列都出现在所述多个列集合的并集中的时候,为每个列集合创建物化视图,完成列集合的创建。
8.如权利要求1所述的用于列数据库的单表多列序存储方法,其特征在于:在建立连接索引的过程中还包括下述列集合加载步骤:
步骤1:在所述数据表加载数据;
步骤2:物化全部列集合物化视图,包括物化每个列集合的存储位置;
步骤3:建立连接索引;
步骤4:删除所述数据表的数据;
步骤5:删除不需要的存储位置值。
9.如权利要求1所述的用于列数据库的单表多列序存储方法,其特征在于还包括下述利用连接索引还原逻辑元组的步骤:
步骤1:寻找包含查询所需要的所有目标列的列集合,如果有,则利用该列集合还原出元组;如果没有,则进入下一步;
步骤2:寻找列序相同的包含查询所需要的所有目标列的多个列集合;
步骤3:在步骤2中获得的多个列集合中,选择使用连接索引最少的列集合组;
步骤4:完成目标列的投影之后,利用连接索引还原元组。
10.如权利要求1所述的用于列数据库的单表多列序存储方法,其特征在于:
属于所述数据表的同一元组的列,是指列集合中的多个列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京人大金仓信息技术股份有限公司,未经北京人大金仓信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110392033.1/1.html,转载请声明来源钻瓜专利网。