次のようなテーブルがあります。
CREATE TABLE テスト ( partitionkey テキスト、rowkey テキスト、date timestamp、policyid テキスト、policyname テキスト、主キー (partitionkey、rowkey));
いくつかのデータを使用:
パーティションキー | 行キー | ポリシー ID | ポリシー名 | 日にち
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';
パーティションキー | 行キー | ポリシー ID | ポリシー名 | 範囲
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';
パーティションキー | 行キー | ポリシー ID | ポリシー名 | 日にち
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 句にインデックス付きの列が存在しません
何か案が?ありがとう、マット