2017-11-14 17 views
0

よく質問します(listOfIDs参照)。
私は遅いために特定のIDにユーザーをリンクさせるためにテーブルを毎回scanにしたくないので、それは配列であり単純なタイプではないためインデックスを作成できません。私はテーブルの構造を改善しますか?すべてのIDと、それらにリンクされたユーザーが「フラット」な構造の別のテーブルを使用する必要がありますか?他の方法はありますか?DynamoDBの高速検索

ありがとうございました!

答えて

1

おそらくのように見え、別のテーブル:

ID string/hash key, 
Email string/range key, 
Any other attributes you may want to access 

IDemailのユニークな組み合わせは、あなたが「IDのリスト」で検索することができます。このテーブルに他の属性を含めて、別のクエリを実行する必要がないようにすることもできます。

1

すべてのIDとそれらにリンクされているユーザーを「フラット」な構造にする必要がありますか?

これは、クエリのパフォーマンスにDynamoDBの並列性を利用したい場合、これが最善の策になると思います。 設定としてあなたlistOfIDsが格納されている場合

別のオプションは、queryCONTAINS式を使用している場合がありますが、あなたのテーブルが大きくなるにつれて、私はそれが性能面スケールします想像することはできません。