SQL ステートメントが作成されるたびに、サーバーはステートメントのコストを見積もります 。次いで、アプリケーションはそのステートメントの実行を継続するかどうかを判断します。
この見積もりは SQLCA (SQLERRD(4)) から入手し、アプリケーションが直接使用することができますし、または SQL_DB2ESTIMATE 接続オプションをしきい値に設定することができます。見積もられたステートメントのコストがどれもしきい値を超えている場合には、 DB2 CLI が警告のダイアログ・ボックスを表示し、ステートメントの継続または取り消しを入力要求します。
提案されているしきい値は 60000 ですが、通常のアプリケーションではエンド・ユーザーがしきい値を設定できるようになっています。
注: | この見積もりは、サーバーがステートメントを実行するために使用している資源の合計の見積もりだけであって、ステートメントを実行するために必要な時間を示してはいません。 |
結果の行数の見積もりは SQLCA (SQLERRD(3)) からも利用可能で、大きい照会を制限するためにアプリケーションが使用することも可能です。
注: | SQLERRD(3) および SQLERRD(4) フィールドに戻される情報の正確度は、パラメーター・マーカーの使用のようなさまざまな要素、およびステートメント内のさまざまな式によって異なります。その主な要素のうちで制御可能なものは、データベース統計の正確さです。つまり、統計の最終更新をいつにするかということです (たとえば、 DB2 ユニバーサル・データベースでは、RUNSTATS コマンドの最終実行時にします。) |