一個名為 `orders` 的 DynamoDB 表格,其主要分割區鍵為 `id`,並有一個全域次要索引 `accountIndex`,其分割區鍵為 `accountId` 和排序鍵 `orderDateTime`。一個 Lambda 函數需要擷取 `accountId = 100` 的訂單。哪一個 DynamoDB API 呼叫會以最少的讀取容量傳回這些項目?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 在 `accountIndex` GSI 上使用 `Query` API 呼叫,指定 `accountId = 100`。.
為什麼這是答案
正確答案是使用 Query API 呼叫,因為它能有效利用全域次要索引 (GSI)。GSI 專為支援非主鍵屬性的查詢而設計,允許您使用 accountId 作為分割區鍵來直接查詢 accountIndex。這會直接掃描索引中符合條件的項目,最大限度地減少讀取容量單位 (RCU) 的消耗。 GetItem 和 BatchGetItem 需要完整的主鍵 (在本例中是 id) 才能檢索項目,但問題中只提供了 accountId。Scan 操作會掃描整個表格,然後篩選結果,這會消耗大量的 RCU,效率最低。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡