翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クエリ
Amazon Timestream for LiveAnalytics を使用したクエリのベストプラクティスを以下に示します。
-
クエリに不可欠なメジャー名とディメンション名のみを含めます。不要な列を追加すると、データスキャンが増加し、クエリのパフォーマンスに影響します。
-
クエリを本番環境にデプロイする前に、クエリインサイトを確認して、空間プルーニングと時間プルーニングが最適であることを確認することをお勧めします。詳細については、「クエリインサイトを使用した Amazon Timestream でのクエリの最適化」を参照してください。
-
可能な場合は、必要に応じて LiveAnalytics 句と SELECT 句の組み込み集計関数とスカラー関数を使用してデータ計算を Timestream forWHERE にプッシュし、クエリのパフォーマンスを向上させ、コストを削減します。「SELECT」および「集計関数」を参照してください。
-
可能な場合は、近似関数を使用します。例えば、Word(APPROX column_name) DISTINCTの代わりに COUNT_DISTINCT を使用してクエリのパフォーマンスを最適化し、クエリコストを削減します。「集計関数」を参照してください。
-
同じテーブルから複数回選択するのではなく、CASE 式を使用して複雑な集計を実行します。「CASE ステートメント」を参照してください。
-
可能な場合は、クエリの WHERE 句に時間範囲を含めます。これにより、クエリのパフォーマンスとコストが最適化されます。例えば、データセット内の過去 1 時間のデータのみが必要な場合は、time > ago(1h) などの時間述語を含めます。「SELECT」および「間隔と期間」を参照してください。
-
クエリがテーブル内のメジャーのサブセットにアクセスする場合、クエリの WHERE 句にメジャー名を常に含めます。
-
可能な場合は、クエリの WHERE 句でディメンションとメジャーを比較するときに等価演算子を使用します。ディメンションとメジャー名の等価述語を使用すると、クエリのパフォーマンスが向上し、クエリコストが削減されます。
-
可能な限り、WHERE 句の関数を使用してコストを最適化しないでください。
-
LIKE 句を複数回使用しないようにします。文字列列で複数の値をフィルタリングする場合は、正規表現を使用してください。「正規表現関数」を参照してください。
-
クエリの GROUP BY 句に必要な列のみを使用してください。
-
クエリ結果を特定の順序にする必要がある場合は、最も外側のクエリの ORDER BY 句でその順序を明示的に指定します。クエリ結果に順序付けが必要ない場合は、クエリのパフォーマンスを向上させるために ORDER BY 句を使用しないでください。
-
クエリの最初の N 行のみが必要な場合は、LIMIT 句を使用します。
-
ORDER BY 句を使用して上位または下位の N 値を調べる場合は、LIMIT 句を使用してクエリコストを削減します。
-
返されたレスポンスのページ割りトークンを使用して、クエリ結果を取得します。詳細については、「クエリ」を参照してください。
-
クエリの実行を開始し、クエリが探している結果を返さないことに気付いた場合は、クエリをキャンセルしてコストを節約します。詳細については、CancelQuery」を参照してください。
-
アプリケーションでスロットリングが発生した場合は、Amazon Timestream for LiveAnalytics に同じ速度でデータを送信し続け、Amazon Timestream for LiveAnalytics がアプリケーションのクエリスループットニーズを満たすように自動スケーリングできるようにします。
-
アプリケーションのクエリ同時実行要件が Timestream for LiveAnalytics のデフォルトの制限を超える場合は、 に連絡して制限の引き上げ AWS Support を依頼してください。