0
在表A中,ID是partion密鑰和時間聚類密鑰和設備ID是次要索引
查詢1)Select * from A where id=1234 and time > xx and time < vv and deviceid='dddd';
如何此查詢工作? 我已啓用跟蹤。
它首先過濾二級索引,然後過濾range.I期待着相反。
上述工作是否會影響性能?
在表A中,ID是partion密鑰和時間聚類密鑰和設備ID是次要索引
查詢1)Select * from A where id=1234 and time > xx and time < vv and deviceid='dddd';
如何此查詢工作? 我已啓用跟蹤。
它首先過濾二級索引,然後過濾range.I期待着相反。
上述工作是否會影響性能?
編號
卡桑德拉將對這兩個查詢使用相同的計劃。
您可以在cql中使用TRACING ON
命令查看cassandra用來提取記錄的計劃。
它們在兩種情況下都是相同的。
因爲使用分區密鑰,所以在這兩種情況下只能引用單個節點。
但我們正在使用第一個二級索引,然後使用分區鍵。 – user3024119
正如旁註:Cassandra中的二級索引不像他們在傳統的dbs中那樣。實際上,除非使用得非常仔細,否則最終會使集羣的性能變差或不變。它們不適用於查詢優化。不要認爲它與RDMS中的方式相同,除非絕對必要並且完全理解爲什麼,否則很可能避免。 –