DynamoDB LSI和GSI的使用场景有什么区别?

3

使用本地二级索引(Local Secondary Indexes)是否仍有其优势,而不是使用全局二级索引(Global Secondary Indexes)?

据我所知,全局二级索引在所有方面都更好。 * 您可以在表创建后创建全局二级索引。 * 您不必像使用本地二级索引那样将哈希键作为索引的一部分。 * 您可以单独为其提供吞吐量。

什么情况下使用本地二级索引比全局二级索引更好?


1
LSI是用于以不同方式对原始哈希键进行排序(分组)的。您不需要为此使用GSI,引入GSI将会更低效,因为它仍然使用相同的哈希键。 - Can Sahin
1个回答

2
LSI允许您为同一主哈希键拥有多个排序选项。
例如,如果您想向用户显示产品订单表,您可能希望用户名成为哈希键,而订单的不同属性成为排序键。这样,您可以向用户展示订单并允许他们按产品名称、产品类型、购买日期等进行服务器端排序。对于每种排序类型都单独提供吞吐量并不是很有意义,因为您的访问模式是相同的,所以通过仅支付主键的预配置吞吐量,您还可以节省一些费用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接