如果我想创建一个包含ItemId
和BatchId
的DynamoDB表,并希望能够通过ItemId
和BatchId
进行查询,我是否必须创建两个表:
Table1: Hash-ItemId Range-BatchId
Table2: Hash-BatchId Range-ItemId
或者有没有办法使用二级索引来避免重复?
答案 0 :(得分:1)
Table1上的全局二级索引如何将BatchId作为哈希键?
重新打开,因为我觉得这个答案很有用。请纠正我而不是结束答案。 @rfornal @Devin。
嘿@Nickolay我在下面看到你的评论。基表的范围键可以用作GSI的哈希键。
为了证明我创建了一个这样的表:
基表:HashKey:hash + RangeKey:range
GSI表:HashKey:range + Rangekey:hash
插入一些键:
查询基表:
查询gsi: