发明名称 |
用于基于列的数据编码结构的查询的高效大规模过滤和/或排序 |
摘要 |
本发明的公开内容涉及对基于列的数据编码结构的查询,其实现了对大规模数据存储的高效的查询处理,尤其是对于蕴含了对定义的窗口上的数据的过滤和/或排序运算的复杂查询的处理。在这一点上,在各实施例中,提供了一种通过完全不对任何行进行排序,或者通过仅对与关联于数据上的所请求的窗口的大小的行数相一致或小于该行数的非常少量的行进行排序,来避免涉及对高百分比的行或所有行的昂贵排序的情形的方法。在一个实施例中,这是通过将外部查询请求拆分成两个不同的内部子请求来实现的,其中第一个子请求对于任何指定的WHERE子句和ORDER BY列计算关于行分布的统计量,而第二个子请求基于该统计量来仅选择匹配该窗口的行。 |
申请公布号 |
CN102171680A |
申请公布日期 |
2011.08.31 |
申请号 |
CN200980139978.3 |
申请日期 |
2009.09.30 |
申请人 |
微软公司 |
发明人 |
A·耐茨;C·佩特克勒斯克;A·I·普雷代斯库;M·杜米特鲁 |
分类号 |
G06F17/00(2006.01)I;G06F17/30(2006.01)I |
主分类号 |
G06F17/00(2006.01)I |
代理机构 |
上海专利商标事务所有限公司 31100 |
代理人 |
钱静芳 |
主权项 |
一种用于处理数据的设备,包括:至少一个查询处理器220,所述查询处理器基于为数据存储中的值在目标窗口内的分布而计算的直方图来处理对加窗的数据子集的查询;以及编码器210,所述编码器用于响应于所述查询将接收到的加窗的数据子集编码为对应于不同数据列的值的整数编码和压缩序列。 |
地址 |
美国华盛顿州 |