2017-06-22 76 views
0

例:卡桑德拉:如何與二級索引和聚類密鑰查詢工作範圍

在表A中,ID是partion密鑰和時間聚類密鑰和設備ID是次要索引

查詢1)Select * from A where id=1234 and time > xx and time < vv and deviceid='dddd'; 如何此查詢工作? 我已啓用跟蹤。

它首先過濾二級索引,然後過濾range.I期待着相反。

上述工作是否會影響性能?

+1

正如旁註:Cassandra中的二級索引不像他們在傳統的dbs中那樣。實際上,除非使用得非常仔細,否則最終會使集羣的性能變差或不變。它們不適用於查詢優化。不要認爲它與RDMS中的方式相同,除非絕對必要並且完全理解爲什麼,否則很可能避免。 –

回答

1

編號

卡桑德拉將對這兩個查詢使用相同的計劃。

您可以在cql中使用TRACING ON命令查看cassandra用來提取記錄的計劃。

它們在兩種情況下都是相同的。

因爲使用分區密鑰,所以在這兩種情況下只能引用單個節點。

+0

但我們正在使用第一個二級索引,然後使用分區鍵。 – user3024119