STL_ALERT_EVENT_LOG - Amazon Redshift

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

STL_ALERT_EVENT_LOG

パフォーマンスの問題を示している可能性のある条件がクエリオプティマイザによって特定された場合にアラートを記録します。STL_ALERT_EVENT_LOG ビューを使用して、クエリのパフォーマンスを向上させる機会を特定します。

複数のセグメントから構成された 1 つのクエリ。各セグメントは 1 つ以上のステップから構成されます。詳細については、クエリ処理 を参照してください。

STL_ALERT_EVENT_LOG はすべてのユーザーに表示されます。スーパーユーザーはすべての行を表示できます。通常のユーザーは自分のデータのみを表示できます。詳細については、「Visibility of data in system tables and views」を参照してください。

テーブルの列

列名 データ型 説明
userid integer エントリを生成したユーザーの ID。
query integer クエリ ID。クエリ列は、他の各種システムテーブルおよびビューを結合するために使用できます。
slice integer クエリが実行されているスライスを識別する番号。
segment integer クエリセグメントを識別する番号。
step integer 実行されたクエリステップ。
pid integer ステートメントとスライスに関連付けられるプロセス ID。同じクエリに複数の PIDs 複数のスライスで実行される場合。
xid bigint ステートメントに関連付けられるトランザクション ID。
event character(1024) アラートイベントの説明。
solution character(1024) 推奨される解決策。
event_time timestamp UTC で表されたクエリの実行開始時刻。秒の小数部の精度(6 桁)を使用します。例: 2009-06-12 11:29:19.131358.

使用に関する注意事項

STL_ALERT_EVENT_LOG を使用してクエリの潜在的な問題を特定し、「クエリパフォーマンスのチューニング」の説明に従ってデータベース設計を最適化して、クエリを再作成できます。STL_ALERT_EVENT_LOG は以下のアラートを記録します。

  • 見つからない統計

    統計が見つかりません。データロードまたは大規模な更新の後で ANALYZE を実行し、COPY 操作で STATUPDATE を使用します。詳細については、Amazon Redshift best practices for designing queries を参照してください。

  • Nested Loop

    通常、ネステッドループはデカルト積です。クエリを評価して、関与しているすべてのテーブルが効率的に結合されていることを確認します。

  • 非常に選択的なフィルター

    スキャンされた行に対する返された行の比率が 0.05 未満です。スキャンされた行は の値です rows_pre_user_filter 返される行は、 STL_SCAN システムビュー。結果セットを決定するために、クエリが著しく大量の行数をスキャンしていることを示します。この問題は、ソートキーが見つからない場合や正しくない場合に起こります。詳細については、ソートキーの選択 を参照してください。

  • 過剰なゴースト行

    削除済みだがバキューム未処理としてマークされた比較的多数の行、または挿入済みだがコミットされていない比較的多数の行がスキャンによってスキップされました。詳細については、テーブルのバキューム処理 を参照してください。

  • 大きな分布

    ハッシュ結合または集計で 100 万を超える行が再分散されました。詳細については、「データ分散スタイルの選択 」を参照してください。

  • 大型放送

    ハッシュ結合で 100 万を超える行がブロードキャストされました。詳細については、データ分散スタイルの選択 を参照してください。

  • シリアル実行

    内部テーブル全体が単一ノードに再分散されたために直列実行を強制する、DS_DIST_ALL_INNER 再分散スタイルがクエリプランで指定されました。詳細については、データ分散スタイルの選択 を参照してください。

サンプルクエリ

次のクエリは、4 つのクエリに関するアラートイベントを表示します。

SELECT query, substring(event,0,25) as event, substring(solution,0,25) as solution, trim(event_time) as event_time from stl_alert_event_log order by query; query | event | solution | event_time -------+-------------------------------+------------------------------+--------------------- 6567 | Missing query planner statist | Run the ANALYZE command | 2014-01-03 18:20:58 7450 | Scanned a large number of del | Run the VACUUM command to rec| 2014-01-03 21:19:31 8406 | Nested Loop Join in the query | Review the join predicates to| 2014-01-04 00:34:22 29512 | Very selective query filter:r | Review the choice of sort key| 2014-01-06 22:00:00 (4 rows)