24

DB2のExplain関数を使用するにはどうすればよいですか?--実行するためと、クエリを最適化するために使用するための両方。DB2で利用できるより良いツールはありますか?

以前にクエリを作成したことがありますが、クエリの実行にかかる時間を知る必要がある唯一の方法は、クエリを実行して時間を計ることです。これはほとんど理想的ではありません。

編集:私にとっての答えは、「あなたはできません。あなたはアクセス権を持っておらず、アクセスすることもできません」であることが判明しました。あなたは官僚主義が好きではありませんか?

4

4 に答える 4

18

探しているものは、次の 2 つの DB2 ユーティリティでカバーされています。

  1. Explain ユーティリティー。これは、オプティマイザーのアクセス・プランと特定の照会の推定コストを (現在の RUNSTATS 統計に基づいて) 表示します。
  2. 1 つ以上のクエリのパフォーマンスを向上させるために構造上の変更を推奨するデザインアドバイザー

どちらのユーティリティでも、データベースに特殊なテーブルを作成する必要があります。

特にクエリの SQL を変更してより良いアクセス プランに影響を与えることができる場合は、アドバイザーよりも Explain ユーティリティを使用する傾向があります。db2expln コマンド行ユーティリティーを使用して、チューニングしているさまざまなバージョンの照会を説明し、それらのコストを比較します。最も重要なことは、Explain または Design Advisor の実行時に表と索引の統計が最新であることです。

于 2009-07-08T19:26:56.937 に答える
6

db2expln -database sample -t -g -f "sql query"

これは私にとってはうまくいきました。

于 2012-02-02T10:44:46.907 に答える
3

'-g'モードをオンにしてコマンドラインからexplainutitlityを実行すると、問題を特定するのに役立ちました。

今はオプションを思い出せません。IIRC、db2explnは、順序付けについて少し面倒です{つまり、パスワードの後に​​ユーザー名を入力することはできません!!}-しかし、それはうまく機能します。

于 2009-07-18T07:48:55.267 に答える