グラフィカルなプランは、短いテキスト・プランや長いテキスト・プランよりも多くの情報を提供します。統計情報付きのグラフィカルなプランの生成は高コストですが、クエリの実行時にデータベース・サーバがモニタしている実際のクエリ実行統計が表示されます。このため、オプティマイザがアクセス・プランの作成時に使用する推定を、実行中にモニタされた実際の統計と直接比較できます。推定と実際の統計が大きく異なる場合は、情報不足のためにオプティマイザが正確にクエリのコストを推定できず、その結果非効率な実行プランになっていることがあります。
統計情報付きのグラフィカルなプランを生成するには、データベース・サーバで文を実行する必要があります。実行時間が長い文のグラフィカルなプランを生成すると、かなり時間がかかる場合があります。UPDATE、INSERT、または DELETE 文の場合は、文の読み込み専用の部分だけが実行されます。テーブルの変更は実行されません。ただし、文にユーザ定義関数が含まれる場合は、クエリの一部としてユーザ定義関数が実行されます。ユーザ定義関数に副次的影響 (たとえば、ローの変更、テーブルの作成、コンソールへのメッセージ送信など) がある場合、統計情報付きのグラフィカルなプランを取得するときにこれらの変更が実行されます。場合によっては、統計情報付きのグラフィカルなプランの取得後に ROLLBACK 文を実行して、これらの副次的影響を元に戻すことができます。ROLLBACK 文を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |