一个用于产品订单的 DynamoDB 表使用 orderId 作为唯一分区键(没有排序键)。应用程序需要支持按 customerId 查询。哪个选项可以实现按 customerId 查询表?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 在表上创建一个全局二级索引(GSI),以 customerId 作为分区键。.
为什么这是答案
正确答案是创建一个全局二级索引(GSI),以 customerId 作为分区键。GSI 允许您使用与表主键不同的属性进行查询,从而支持非主键属性的查询模式。在这种情况下,customerId 是一个非主键属性,GSI 可以有效地支持按 customerId 查询。 修改表的主键(选项一)不可行,因为现有数据已经使用 orderId 作为主键,更改主键需要重建表并迁移数据,这通常不是一个可行的实时解决方案。 本地二级索引(LSI)必须与表具有相同的分区键(选项三和四),并且只能在主键包含排序键时创建。由于原始表只有分区键 orderId 而没有排序键,并且我们希望按 customerId 查询,LSI 不适用。LSI 旨在支持对相同分区键内不同排序键的查询,而不是对不同分区键的查询。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡