よく質問します(listOfIDs
参照)。
私は遅いために特定のIDにユーザーをリンクさせるためにテーブルを毎回scan
にしたくないので、それは配列であり単純なタイプではないためインデックスを作成できません。私はテーブルの構造を改善しますか?すべてのIDと、それらにリンクされたユーザーが「フラット」な構造の別のテーブルを使用する必要がありますか?他の方法はありますか?DynamoDBの高速検索
ありがとうございました!
よく質問します(listOfIDs
参照)。
私は遅いために特定のIDにユーザーをリンクさせるためにテーブルを毎回scan
にしたくないので、それは配列であり単純なタイプではないためインデックスを作成できません。私はテーブルの構造を改善しますか?すべてのIDと、それらにリンクされたユーザーが「フラット」な構造の別のテーブルを使用する必要がありますか?他の方法はありますか?DynamoDBの高速検索
ありがとうございました!
おそらくのように見え、別のテーブル:
ID string/hash key,
Email string/range key,
Any other attributes you may want to access
ID
とemail
のユニークな組み合わせは、あなたが「IDのリスト」で検索することができます。このテーブルに他の属性を含めて、別のクエリを実行する必要がないようにすることもできます。
すべてのIDとそれらにリンクされているユーザーを「フラット」な構造にする必要がありますか?
これは、クエリのパフォーマンスにDynamoDBの並列性を利用したい場合、これが最善の策になると思います。 が設定としてあなたlistOfIDs
が格納されている場合
別のオプションは、query
でCONTAINS
式を使用している場合がありますが、あなたのテーブルが大きくなるにつれて、私はそれが性能面スケールします想像することはできません。