我正在设置DynamoDB。我们的数据很简单,它有四个字段:
- 用户名
- 用户轮班结束日期
- 用户项目代码
- 用户活动
理想情况下,我们应该基于UserShiftEndDate
查询用户。我们的数据中没有一个字段/组合是唯一的。我可以为每条记录添加一个自动生成的ID。
请建议我选择哪些字段作为分区键和排序键或GSI,以获得基于UserShiftEndDate
的查询的最佳响应时间。
例如,考虑下表:
UserName | UserShiftEndDate | 用户项目代码用户活动 | ||
---|---|---|---|---|
用户A | 2020年12月13日 | 45 | 监控||
用户B | 2020年12月14日 | 47 | 测试||
用户 | 2020年12月17日 | 45 | 监控||
用户B | 2020年12月14日 | 45 | 测试||
用户C | 2020年12月15日 | 管理 |
我建议创建一个UUID(通过编程生成(作为主键,然后创建一个带有UserShiftEndDate
的GSI。这样您就可以提供一个日期,并获取所有具有所提供日期的记录。请参阅本文了解更多信息。