SVL_QUERY_REPORT ビューの使用 - Amazon Redshift

SVL_QUERY_REPORT ビューの使用

SVL_QUERY_REPORT を使用して、クエリの概要情報をスライスで分析するには、以下を実行します。

  1. 次の操作を実行してクエリ ID を調べます。

    select query, elapsed, substring from svl_qlog order by query desc limit 5;

    substring フィールドの切り捨てられたクエリテキストを調べ、どの query 値がクエリを表しているかを確認します。クエリを複数回実行した場合、query値が小さい行の elapsed 値を使用します。これは、コンパイル済みバージョンの行です。多くのクエリを実行している場合、クエリが確実に含められるように、LIMIT 句により使用される値を大きくすることができます。

  2. クエリの SVL_QUERY_REPORT から行を選択します。segment、step、elapsed_time、rows により結果を並べ替えます。

    select * from svl_query_report where query = MyQueryID order by segment, step, elapsed_time, rows;
  3. 各ステップで、すべてのスライスがほぼ同じ数の行を処理していることを確認します。

    クエリの実行に使用されるデータスライスのリスト。各スライスは、ほぼ同じ数の行を処理します。

    さらに、すべてのスライスにほぼ同じ時間がかかっていることを確認します。

    クエリの実行に使用されるデータスライスのリスト。各スライスにかかる時間はほぼ同じです。

    これらの値が大きく異なる場合、この特定のクエリの分散スタイルが十分最適でないことによるデータ分散スキューを示している可能性があります。推奨される解決策については、「十分最適でないデータ分散」を参照してください。