【发布时间】:2014-03-04 06:04:31
【问题描述】:
我有一张这样的桌子:
CREATE TABLE 测试(分区键文本、行键文本、日期 时间戳、policyid 文本、policyname 文本、主键 (partitionkey, rowkey));
一些数据:
分区键 |行键 |政策标识 |政策名称 |日期
p1 | r1 | pl1 | plicy1 | 2007-01-02 00:00:00+0000 p1 | r2 | pl2 | plicy2 | 2007-01-03 00:00:00+0000 p2 | r3 | pl3 | plicy3 | 2008-01-03 00:00:00+0000
我希望能够找到:
1/ data from a particular partition key
2/ data from a particular partition key & rowkey
3/ Range query on date given a partitionkey
1/ 和 2/ 是微不足道的:
select * from test where partitionkey='p1';
分区键 |行键 |政策标识 |政策名称 |范围
p1 | r1 | pl1 | plicy1 | 2007-01-02 00:00:00+0000 p1 | r2 | pl2 | plicy2 | 2007-01-03 00:00:00+0000
但是 3/ 呢? 即使有索引也不起作用:
在测试(日期)上创建索引 i1;
select * from test where partitionkey='p1' and date = '2007-01-02';
分区键 |行键 |政策标识 |政策名称 |日期
p1 | r1 | pl1 plicy1 | 2007-01-02 00:00:00+0000但是
select * from test where partitionkey='p1' and 日期 > '2007-01-02';
错误请求:中不存在索引列 带有 Equal 运算符的 by-columns 子句
有什么想法吗? 谢谢, 马特
【问题讨论】: