Primary-Key

DynamoDB - 多個範圍鍵

  • February 16, 2017

是否可以將多個欄位作為範圍鍵?

假設我有一個表,其中每一行都由<A,B,C>

-------------------------------
A   |   B   |  C  |  D   |  E  |
-------------------------------

Ahash鍵在哪裡

我想成為主B鍵。C``range

如何在 DynamoDB 中有兩個以上的欄位作為主鍵?

DynamoDB 中的主鍵不能超過 2 個欄位。

作為一種解決方法,您可以local secondary index為要成為範圍鍵的每個欄位創建。但是您將無法同時使用多個範圍鍵建構查詢,因為 DynamoDB 一次只能使用一個索引。

考慮使用過濾器表達式,您最終可能會使用比您需要的更多的讀取吞吐量(在從 db 接收數據後執行過濾),但會獲得所需的結果。

將 B 和 C 的副本放在範圍欄位中(作為額外的列),並將您的範圍鍵設置為“B_C”,如果需要,您仍然可以為 B 和 C 設置單獨的列。

引用自:https://dba.stackexchange.com/questions/116280