Amazon dynamodb DynamoDB LSI优于GSI的用例是什么?

Amazon dynamodb DynamoDB LSI优于GSI的用例是什么?,amazon-dynamodb,Amazon Dynamodb,是否仍然有理由使用本地二级索引而不是全局二级索引 GSI在AFAIK的各个方面都更好。 *您可以在创建表之后创建GSI。 *与LSI不同,您不限于将哈希键用作索引的一部分。 *您可以单独为其设置吞吐量 LSI什么时候比GSI好?LSI允许您对同一个主哈希键拥有多个排序选项 例如,如果要为用户显示产品订单表,可能需要用户名作为散列键,订单的不同属性作为排序键。这样,您就可以向用户显示订单,并允许他们按产品名称、产品类型、购买日期等进行服务器端排序。由于您的访问模式相同,因此为每种排序类型单独设置吞

是否仍然有理由使用本地二级索引而不是全局二级索引

GSI在AFAIK的各个方面都更好。 *您可以在创建表之后创建GSI。 *与LSI不同,您不限于将哈希键用作索引的一部分。 *您可以单独为其设置吞吐量


LSI什么时候比GSI好?

LSI允许您对同一个主哈希键拥有多个排序选项

例如,如果要为用户显示产品订单表,可能需要用户名作为散列键,订单的不同属性作为排序键。这样,您就可以向用户显示订单,并允许他们按产品名称、产品类型、购买日期等进行服务器端排序。由于您的访问模式相同,因此为每种排序类型单独设置吞吐量是没有意义的,因此,只需支付主键提供的吞吐量就可以节省一些钱。

LSI用于以不同的方式对原始哈希键进行排序(分组)。它不需要GSI,为同一个散列键引入GSI会降低效率。