Primary-Key
DynamoDB - 多個範圍鍵
是否可以將多個欄位作為範圍鍵?
假設我有一個表,其中每一行都由
<A,B,C>
------------------------------- A | B | C | D | E | -------------------------------
A
主hash
鍵在哪裡我想成為主
B
鍵。C``range
如何在 DynamoDB 中有兩個以上的欄位作為主鍵?
DynamoDB 中的主鍵不能超過 2 個欄位。
作為一種解決方法,您可以
local secondary index
為要成為範圍鍵的每個欄位創建。但是您將無法同時使用多個範圍鍵建構查詢,因為 DynamoDB 一次只能使用一個索引。考慮使用過濾器表達式,您最終可能會使用比您需要的更多的讀取吞吐量(在從 db 接收數據後執行過濾),但會獲得所需的結果。
將 B 和 C 的副本放在範圍欄位中(作為額外的列),並將您的範圍鍵設置為“B_C”,如果需要,您仍然可以為 B 和 C 設置單獨的列。