[发明专利]一种支持多属性复合条件查询的虚拟表索引机制及方法有效
申请号: | 201210553946.1 | 申请日: | 2012-12-19 |
公开(公告)号: | CN103049521A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 李晓林;谢毅;徐志伟 | 申请(专利权)人: | 广东电子工业研究院有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 523808 广东省东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 属性 复合 条件 查询 虚拟 索引 机制 方法 | ||
1.一种支持多属性复合条件查询的虚拟表索引机制,其特征在于:所述的机制由三个关键部件索引管理器、条件分析器和预执行引擎构成;
所述的索引管理器,管理虚拟表属性的索引键值,支持虚拟表多个属性的单个键值、区间键值的管理;
所述的条件分析器,对施加在虚拟表上的查询条件分解并对谓词分析;依次对有索引的属性按照SQL语法分析整个查询条件,用真值true替换屏蔽掉含其他属性的谓词表达式后,只留下该属性的查询谓词条件,以便判断该属性索引是否满足此条件;此时,如果某属性的索引键值是区间,条件分析器进一步通过该区间值再计算被真值替换后的查询条件中关于该属性的谓词的真/假,并用布尔结果(true/false)替换该谓词;如果该步骤无法计算,则表示直接返回需要对该虚拟表执行查询的推断结果;
所述的预执行引擎,通过相应属性的索引键值判断部分被真值表达式(true)和布尔结果替换后的查询条件的真/假,确定相应属性的索引是否满足查询条件;如果不满足,则直接返回不对该虚拟表执行查询的推断结果;否则,继续判断其他属性索引;一些特殊情况,默认为满足执行条件;索引键值为区间值时只取开始和结束值。
2.一种支持多属性复合条件查询的虚拟表索引方法,其特征在于:在虚拟表上构建针对多个属性的索引键值;在执行查询时,计算施加到该虚拟表的查询条件;依据键值索引,预先针对各个属性独立判断是否需要执行该虚拟表映射的物理实体表,从而确保将查询只施加到满足相应键值条件的子虚拟表上执行。
3.根据权利要求2所述的虚拟表索引方法,其特征在于:所述的预先确定哪些子表含有满足该查询条件的数据记录是:在虚拟层,通过在各个子表上基于子表的索引,预先判断该子表的数据集合是否满足查询条件,只定位到满足条件的子表进行查询;而对于无查询过滤条件、未建立索引或者基于索引难于判断等特例,直接对子表施加查询。
4.根据权利要求2所述的虚拟表索引方法,其特征在于:按照某个属性键值建立类似B+树的子表索引结构,B+树的每个叶子节点代表一个子表;在叶子节点对子表建立1个或多个(其他)属性的索引,索引值可以是单值和区间值。
5.根据权利要求3所述的虚拟表索引方法;其特征在于:按照某个属性键值建立类似B+树的子表索引结构,B+树的每个叶子节点代表一个子表;在叶子节点对子表建立1个或多个(其他)属性的索引,索引值可以是单值和区间值。
6.根据权利要求2至5任一项所述的虚拟表索引方法,其特征在于:两次对查询条件的替换是通过对SQL查询条件分析形成的语法树,针对每个索引属性,进行单独分析判断。
7.根据权利要求2至5任一项所述的虚拟表索引方法,其特征在于:对区间内的值通过代入区间值将谓词表达式转化成比较逻辑计算布尔结果。
8.根据权利要求6所述的虚拟表索引方法,其特征在于:对区间内的值通过代入区间值将谓词表达式转化成比较逻辑计算布尔结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东电子工业研究院有限公司,未经广东电子工业研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210553946.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:增频式低能耗脉冲充磁机
- 下一篇:波纹板直接成型机