DynamoDB:是否可以通过哈希和范围进行查询而无需创建两个表?

时间:2015-01-13 19:30:41

标签: amazon-dynamodb

如果我想创建一个包含ItemIdBatchId的DynamoDB表,并希望能够通过ItemIdBatchId进行查询,我是否必须创建两个表:

Table1: Hash-ItemId Range-BatchId
Table2: Hash-BatchId Range-ItemId

或者有没有办法使用二级索引来避免重复?

1 个答案:

答案 0 :(得分:1)

Table1上的全局二级索引如何将BatchId作为哈希键?

重新打开,因为我觉得这个答案很有用。请纠正我而不是结束答案。 @rfornal @Devin。

嘿@Nickolay我在下面看到你的评论。基表的范围键可以用作GSI的哈希键。

为了证明我创建了一个这样的表:

基表:HashKey:hash + RangeKey:range

GSI表:HashKey:range + Rangekey:hash

插入一些键: enter image description here

查询基表: enter image description here

查询gsi: enter image description here