管理の手引き


EXPLAIN ツールの選択

DB2 では産業界で最も広範囲の Explain 機能を提供します。 これには、Explain 済みの SQL ステートメントについて選択したアクセス・プランに関する詳細最適化プログラム情報が含まれています。 Explain 情報を獲得しアクセスするのに必要な柔軟性を提供するため、 いくつかの方法が提供されています。

アクセス・プランを徹底的に分析するために使用できる詳細最適化プログラム情報は、 実際のアクセス・プランとは別の Explain 表に保持されます。 Explain 表から情報を入手するには、次の 3 つの方法があります。

  1. 自分自身の照会を作成する (付録 G, Explain 表と定義の説明にある Explain 表に基づいて行う)
  2. db2exfmt ツールを使用する
  3. Visual Explain を使用する (Explain スナップショット情報を表示する)

Explain 表はサポートされるすべてのプラットフォームでアクセス可能であり、 表には静的 SQL と動的 SQL の両方に関する情報が含まれています。 SQL ステートメントを使用すると、簡単な操作で出力したり、 別の照会と比較したり、 または同じ照会を時間外で比較したりできる Explain 表にアクセスすることができます。 事前定義された書式で表示された Explain 表から情報を得る場合は、 db2exfmt ツールを使用することができます。 このツールの詳細については、付録 I, db2exfmt - Explain 表フォーマット・ツールを参照してください。 代替方法としては、 表にアクセスするための自分自身のステートメントを作成する必要があります。
注:このツール (および、db2batchdynexplndb2vexpdb2_all といったツール) は、 sqllib ディレクトリーの misc サブディレクトリー内にあります。 このツールがこのパスから移動されている場合には、 上述したコマンド行入力は作動しない場合があります。

Visual Explain を使用すると、 グラフィック・インターフェースを介して、 アクセス・プランの分析や Explain 表からの最適化プログラム情報を分析することができます。 静的 SQL と動的 SQL はどちらもこのツールを用いて分析することができます。 Visual Explain は一般にコントロール・センター内から呼び出されます。 コントロール・センターは、 コマンド行に db2cc と入力すると使用できます。 また、Visual Explain は、 コマンド行に db2vexp コマンドを入力して、 1 つの SQL ステートメントごとに直接呼び出すこともできます。 一部のプラットフォームでは、Visual Explain は、 DB2 ユニバーサル・データベース・フォルダー内からフォルダーを使用して呼び出すことができます。 Visual Explain はサポートされるプラットフォームすべてで使用できるわけではありません。 Visual Explain がサポートされているかどうかを調べるには、 概説およびインストール を参照してください。 Visual Explain では、 別のプラットフォームで収集または取得したスナップショットを見ることができます。 たとえば、Windows NT クライアントでは、 DB2 (HP-UX サーバー版) で生成されたスナップショットをグラフ化することができます。 これが可能なのは、両方のプラットフォームがバージョン 5 レベル以降の場合に限られます。 Visual Explain からの出力は、簡単に操作して詳しい分析を行えるものではなく、 他のアプリケーションでアクセスできる情報でもありません。 db2vexp コマンドの詳細については、 コマンド行で db2vexp -h と入力するか、 コマンド解説書 を参照してください。 Visual Explain の詳細については、db2cc を入力して、 コントロール・センターのオンライン・ヘルプを参照してください。

静的 SQL ステートメントのアクセス・プランに関する情報はパッケージの一部として生成され、 システム・カタログに保管されます。 1 つまたは複数のパッケージで利用できるアクセス・プラン情報を見るには、 コマンド行から db2expln ツールを使用できます。 db2expln は、 選択したアクセス・プランを実際に具体化したものを示します。 最適化プログラム情報については示しません。

dynexpln ツールは内部で db2expln を使用しますが、 パラメーター・マーカーが入っていない動的 SQL ステートメントに対して素早い方法で Explain を実行します。 dynexpln 内部からの db2expln の使用は、 入力 SQL ステートメントを疑似パッケージ内の静的ステートメントに変換することによって行われます。 これが実行されても、情報は必ずしも完全に正確であるとは限りません。 完全に正確な情報が必要な場合には、 SQL Explain 機能の使用で説明されている Explain 機能を使用するようにしてください。

db2expln ツールは、生成された実際のアクセス・プランを調べることにより、 実行時にどのような操作が行われるのかに関する比較的コンパクトで英語式の概要を提供します (コードの生成方法については、 を参照してください)。 db2expln の使用と出力の解釈に関する付加的な情報については、 付録 H, SQL EXPLAIN ツールを参照してください。

表 51 では、 DB2 Explain 機能と共に使用できる他のツールとそれらの個々の特性について要約します。 この表を使用して、使用中の環境とニーズに最も適したツールを選択してください。

表 51. Explain 機能ツール
希望する特性 Visual Explain db2vexp Explain 表 db2exfmt db2expln dynexpln
GUI インターフェース
テキスト出力
「簡易」静的 SQL 分析
サポートされる静的 SQL
サポートされる動的 SQL 可*
サポートされる CLI アプリケーション
DRDA アプリケーション・リクエスターで使用可能
詳細最適化プログラム情報
複数ステートメントの分析に適合
アプリケーション内部からアクセス可能な情報
注:

*
db2expln を間接的に使用します。 制限がいくつかあります。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]