金鑰排序和允許的查詢
分割槽鍵是最小符使用 where 子句進行查詢所需。
如果宣告複合群集鍵,則順序很重要。
假設你有以下主鍵:
PRIMARY KEY((part_key1, part_key_2), (clust_key_1, clust_key_2, clust_key_3))
然後,唯一有效的查詢使用 where
子句中的以下欄位:
part_key_1
,part_key_2
part_key_1
,part_key_2
,clust_key_1
part_key_1
,part_key_2
,clust_key_1
,clust_key_2
part_key_1
,part_key_2
,clust_key_1
,clust_key_2
,clust_key_3
無效查詢的示例如下:
part_key_1
,part_key_2
,clust_key_2
- 任何不包含
part_key_1
,part_key_2
的東西 - …
如果你想使用 clust_key_2
,你還必須指定 clust_key_1
,依此類推。
因此,宣告群集金鑰的順序將對你可以執行的查詢型別產生影響。相反,分割槽鍵欄位的順序並不重要,因為你始終必須在查詢中指定所有這些欄位。