我一直在浏览AWS DynamoDB文档,无法弄清楚batchGetItem()和Query()之间的区别。
我的用例:我有一个表,其ID为主哈希键,属性值为Name和Marks。 我想执行批量查询,它通过提供作为主键的Id列表来返回名称和标记列表。
我应该使用batchGetItem()还是Query()?
答案 0 :(得分:0)
BatchGetItem:允许您对不支持并行性的语言(即javascript)并行化“GetItem”请求。这包括从不同的表中检索项目(尽管不支持索引)。
查询:允许您使用哈希范围架构(其中您将有多个与哈希键关联的结果)在页面中进行分页,并允许您从表上的索引中检索项目。请注意,您还可以在KeyConditions中的范围键上添加其他条件,并在QueryFilter中的任何非主键属性上添加条件。
看起来您的用例会调用BatchGetItem请求,因为您尝试通过哈希键从基表中检索项目。
希望有所帮助!