如果我根据索引散列键从表中检索单个项目,则 or 之间是否存在性能query()
差异getItem()
?
问问题
33126 次
4 回答
45
getItem
会更快
getItem
通过散列和范围键检索是 1:1 拟合,检索它所需的时间(因此性能)受散列和内部分片的限制。
查询导致搜索“所有”范围键。它增加了计算工作,因此被认为更慢。
于 2012-09-03T13:01:05.977 回答
28
在 Amazon 的 DynamoDB 中,无论采用何种访问方法,都可以保证您的性能。(你付钱)。
正如 Chen Harel 所建议的那样,DynamoDB 服务器本身可能存在几毫秒的差异,但由于 HTTP 请求 RTT,这些差异可以忽略不计。
这就是说,最好发出 a而不是在您有足够的信息时这样做。GET
QUERY
于 2012-09-03T14:36:04.503 回答
15
于 2020-02-04T20:08:35.750 回答
-1
两者之间没有性能差异。两个查询中的哈希计算都是 1 对 1 完成的。后者,即 get item 只是作为 JPA 存储库/spring findOne/findById 的类比提供,以使 Spring Bean 布线/Hibernate 配置中的布线更容易。
于 2019-02-21T19:53:08.220 回答