You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否将DynamoDB属性同时作为一个索引的partition key和另一个索引的sort key?

关于DynamoDB GSI键复用的问题解答

当然可以!DynamoDB完全允许你将同一个属性同时用作不同全局二级索引(GSI)的不同类型键——既可以是某一个GSI的分区键(Partition Key),也能作为另一个GSI的排序键(Sort Key)。

具体到你的场景

你提到的Events表以及两个GSI的设计是完全合法的:

  • GSI user_status:以user作为分区键、status作为排序键,这个索引能让你高效地按用户维度分组,再结合状态筛选相关事件;
  • GSI status_created_at:以status作为分区键、created_at作为排序键,这个索引则支持你按状态维度聚合事件,还能按创建时间的顺序查询结果。

补充说明

每个GSI都有独立的键结构规则,只要单个GSI满足「必须指定一个分区键,可选搭配一个排序键」的要求,不同GSI之间的键选择没有互斥限制。你只需要根据实际的查询需求来设计索引即可,同时记得根据查询需要配置合适的投影属性(比如全投影、指定属性投影等),确保查询时能获取到所需的数据。

内容的提问来源于stack exchange,提问作者McGar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:34:01