在DynamoDB中,哪个更快?按ID还是按二级索引属性查询?

时间:2019-10-04 13:25:23

标签: amazon-dynamodb dynamodb-queries amazon-dynamodb-index

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

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

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

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

如果有区别,我可以切换,让B作为Id,让A作为GSI。

谢谢

1 个答案:

答案 0 :(得分:1)

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

如果仅project仅使用所需的属性,则效率会更高。

考虑到散列键不是唯一的,效率可能会降低,您可能最终要对这些结果进行迭代以找到所需的键。