我有一张这样的桌子:
CREATE TABLE 测试(partitionkey 文本、rowkey 文本、日期时间戳、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 date > '2007-01-02';
错误请求:使用 Equal 运算符的 by-columns 子句中不存在索引列
任何想法?谢谢,马特