インデックス付きハッシュキーに基づいてテーブルから単一のアイテムを取得する場合、query()とgetItem()の間にパフォーマンスの違いはありますか?
getItemはより速くなります
[。
クエリを実行すると、「すべて」の範囲キーが検索されます。これは計算作業を追加するため、低速と見なされます。
AmazonのDynamoDBでは、アクセス方法に関係なく、パフォーマンスは保証です。 (あなたはそれを支払う)。
Chen Harelが示唆するように、DynamoDBサーバー自体にカップルミリ秒の違いがある可能性がありますが、HTTPリクエストのRTTのため、これらはnegligibleです。
これは、十分な情報があるときにGET
の代わりにQUERY
を発行することはグッドプラクティスと述べています。
2つの間にパフォーマンスの違いはありません。両方のクエリのハッシュ計算は1つずつ行われます。後者、つまり取得アイテムは、Spring Beanの配線/ Hibernate構成での配線を容易にするために、JPAリポジトリ/ spring findOne/findByIdに類似して提供されます。