一个名为 `orders` 的 DynamoDB 表有一个主分区键 `id` 和一个全局二级索引 `accountIndex`,其中包含分区键 `accountId` 和排序键 `orderDateTime`。一个 Lambda 函数需要检索 `accountId = 100` 的订单。哪个 DynamoDB API 调用将使用最少的读取容量返回这些项目?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 在 `accountIndex` GSI 上使用 `Query` API 调用,指定 `accountId = 100`。.
为什么这是答案
在 accountIndex GSI 上使用 Query API 调用,指定 accountId = 100 是最有效的方法。因为 accountIndex 是一个全局二级索引 (GSI),它以 accountId 作为分区键,允许直接高效地查询特定 accountId 的所有项目,从而最小化读取容量。 其他选项效率较低: GetItem 只能通过主键检索单个项目,不适用于检索多个订单。 BatchGetItem 适用于通过主键批量检索已知项目,但需要预先知道所有 id,不适合按 accountId 查找。 Scan 会遍历整个表(或索引),然后应用过滤条件,这会消耗大量读取容量,尤其是在表很大的情况下。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡