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

3
我有一个DynamoDB表格,需要根据两个不同的属性进行查询,有时根据一个属性,有时根据另一个属性,但从未同时根据两个属性查询。
假设我有一个属性A和属性B,在这里其他属性都不相关。我考虑设计这个表,其中哈希键是属性A,GSI是属性B。这样我总是执行查询而不是扫描。
现在我想知道哪个查询更快,是在属性A(即Id)上还是在属性B(GSI)上?
如果有差异,我可以切换,让B成为Id,A成为GSI。
谢谢

嗨,有趣的问题,一般来说,在任何数据库中,不太可能有不同的性能差异。在我所了解的所有数据库中,“主键”和“索引”具有相同的结构和性能。请记住,“哈希键”必须是唯一的,而全局二级索引则没有这个要求。 - libik
嗨 @RaymondNijland,我已经读过了,顺便说一下,但是这种性能比较并没有提到。 - danilobraga
1个回答

1
GSI是一个实际的DynamoDB表,其中包含所有主表数据的副本。
如果您只投影所需的属性,则可以更有效率。
考虑到哈希键不唯一,并且可能需要迭代这些结果以找到所需的结果,因此可能效率较低。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接