金鑰排序和允許的查詢

分割槽鍵最小符使用 where 子句進行查詢所需。

如果宣告複合群集鍵,則順序很重要。

假設你有以下主鍵:

PRIMARY KEY((part_key1, part_key_2), (clust_key_1, clust_key_2, clust_key_3))

然後,唯一有效的查詢使用 where 子句中的以下欄位:

  • part_key_1part_key_2
  • part_key_1part_key_2clust_key_1
  • part_key_1part_key_2clust_key_1clust_key_2
  • part_key_1part_key_2clust_key_1clust_key_2clust_key_3

無效查詢的示例如下:

  • part_key_1part_key_2clust_key_2
  • 任何不包含 part_key_1part_key_2 的東西

如果你想使用 clust_key_2,你還必須指定 clust_key_1,依此類推。

因此,宣告群集金鑰的順序將對你可以執行的查詢型別產生影響。相反,分割槽鍵欄位的順序並不重要,因為你始終必須在查詢中指定所有這些欄位。