来自Working with Items: Java我知道有可能更新"使用putItem的项目。 putItem将替换整个项目。但是,建议使用updateItem,因为updateItem方法只会修改您在输入中指定的项属性,而项中的其他属性将保持不变。
我的问题是' 在亚马逊发电机数据库中替换整个项目和更新必填字段之间存在性能差异&# 39;
如果要更新的项目数为
,对性能的影响是什么有人提出了关于两个职能之间差异的问题here。但我想要一个关于性能差异的详细解答。
答案 0 :(得分:2)
将项目写入DynamoDB时,放置或部分更新将消耗相同的吞吐量。
来自文档:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CapacityUnitCalculations.html
PutItem-将单个项目写入表格。如果一个项目具有相同的 主键存在于表中,该操作替换该项。对于 计算预配置吞吐量消耗,项目大小 问题是两者中较大的一个。
UpdateItem - 修改单个项目 桌子。 DynamoDB会在出现时考虑项目的大小 更新前后。消耗的预配置吞吐量 反映了这些项目大小中较大的一个。 即使您只更新了一个 在项目属性的子集中,UpdateItem仍将使用 全部预配置吞吐量("之前和#34;中的较大者) "后"项目大小)。