1

我有一个 DynamoDB 表,我需要在其中查询两个不同的属性,有时是一个,有时是另一个,但从不同时查询。

假设我有一个属性 A 和属性 B,其他属性在这里无关紧要。

我正在考虑设计这个表,其中哈希键是属性 A,GSI 是属性 B。这样我总是执行query而不是scan.

现在我想到一个问题,在属性 A(即 Id)或属性 B (GSI) 上哪个查询更快?

如果有一些差异,我可以切换,让 B 作为 Id,让 A 作为 GSI。

谢谢

4

1 回答 1

1

GSI 是一个实际的 DynamoDB 表,其中复制了所有主表数据。

如果您只投影您需要的属性,它会更有效。

考虑到哈希键不是唯一的,它可能效率较低,并且您最终可能会迭代这些结果以找到所需的结果。

于 2019-10-04T16:37:18.313 回答