我有一個表,如下卡桑德拉允許過濾
CREATE TABLE test (
day int,
id varchar,
start int,
action varchar,
PRIMARY KEY((day),start,id)
);
我想運行此查詢
Select * from test where day=1 and start > 1475485412 and start < 1485785654
and action='accept' ALLOW FILTERING
難道這允許過濾的高效?
我期待的是卡桑德拉將在此爲了
1. By Partitioning column(day)
2. By the range column(start) on the 1's result
3. By action column on 2's result.
過濾器,這樣能夠過濾不會對這個查詢一個不錯的選擇。
如果where子句中有多個過濾參數,而非索引列是最後一個,那麼過濾器將如何工作? 請解釋。
我在不同的問題上閱讀了同樣的答案。這不是這個問題的答案。如果您知道,請詳細說明查詢的工作方式。 – Bharathi
我不知道那個問題,但是我在這個舊的[datastax doc](https://www.datastax.com/dev/blog/allow-filtering-explained-2)上閱讀了這個問題。看看它。 雖然我仍然認爲我的答案解釋得很好。但是,如果您發現其他情況,請在此提及。也會清除我的錯誤觀念(如果有的話)。謝謝! – r005t3r
感謝您的更新。我知道ALLOW FILTERING將掃描整個列系列。但是這裏的問題是,如果where子句中有多個過濾參數,而非索引列是最後一個,那麼過濾器將如何工作?請閱讀該問題,並告知我是否需要進行任何編輯以獲得更好的理解。 – Bharathi