EXPLAINリクエスト修飾子は、有効なSQLリクエストを処理するための、最適化ルーチンによって生成されたリクエスト計画の英語のサマリーをレポートします。このサマリーは、リクエストを解決するためにシステムが実行するAMPステップについて説明しますが、最適化ルーチンが動的計画を使用してから、リクエストが部分的に処理されない限り、リクエストは処理されません。
リクエストにEXPLAINを実行するには、リクエストの実行に必要な権限がなければなりません。
EXPLAINはSQLリクエストの評価と最適化に役立ちます。EXPLAINは、指定されたSQLリクエストについて最適化ルーチンが生成するアクセス計画と結合計画のサマリーを提供します。これには以下の情報が含まれます。
- 使用インデックス
- 生成される中間スプール ファイル
- 実行される結合タイプ
- トランザクション内のリクエストが並列ディスパッチされるかどうか
- リクエストの完了にかかる時間の相対値
- 動的リクエスト計画と静的リクエスト計画のどちらが使用されるか
EXPLAINを使用すると、リクエストのさまざまなバージョン間の相対パフォーマンスを比較し、最も効率的なSQLを選択できます。
推奨事項:開発中の新しいリクエストを常にEXPLAINを使用して分析します。リクエストの構成におけるわずかな相違が、たとえそれらのリクエストが同一の最終結果を生成する場合であっても、リソースへの影響とパフォーマンスに大きな違いをもらたす可能性があります。