2017-08-28 18 views
0

このテーブルでDynamoDBテーブルとグローバルセカンダリインデックスを作成しました。私はそのテーブルのGSIからすべてのデータを取得する必要があります。ノーフィルタ式でFilterExpressionとクエリを使用しないDynamoDBスキャン

  1. スキャン操作:

    は、2つのオプションがあります。

  2. 条件なしのクエリ操作。

私は実装を開始するために、どちらがパフォーマンスが優れているかを調べる必要があります。

私はDynamoDBのスキャンとクエリ操作について多くのことを読んだことがありますが、私のクエリを解決することができます。

私の質問を解決するのを手伝ってください。

ありがとうございます。

abhishek

+0

プライマリキーがありますが、完全なセカンダリインデックステーブルをフェッチしたいとします。私は、クエリまたはスキャンを使用して完全なテーブルを取得できます。それはより良いパフォーマンスを与えるだろう。 –

答えて

0

これらは両方とも同じパフォーマンスオーバーヘッドを課します。だからどちらかを選ぶことは大丈夫です。あなたが使用してどちらのアプローチの上に最適化を追加することを考えるべきです - インスタンスのベストプラクティスをmentionedinとして並列スキャンを実行する:アプリケーション


http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScanGuidelines.html

やキャッシュデータを並列スキャンを食べるようになることに注意してください。あなたの準備を整えてください。

あなたの意思決定に注意するもう1つのことは、クエリパターンがどのように変更される可能性が高いかです。今後フィルタを追加する予定ですか?もしそうならば、スキャンはすべてのデータを読み込み(プロビジョニングされた読み込み容量を消費する)、結果をフィルタリングするのでクエリはより良いものになります。

関連する問題