DB2 ストアード・プロシージャー

ストアード・プロシージャーは、SQL ステートメントを持つプロシージャー型構成を含みます。ストアード・プロシージャーは、DB2® データベースに格納され、DB2 サーバー上で実行されます。アプリケーションは名前でストアード・プロシージャーを呼び出し、ストアード・プロシージャーにインクルードされている SQL ステートメントを実行することができます。アプリケーションはクライアント上に設定できますが、 ストアード・プロシージャーはそのロジックをサーバー上で実行します。ストアード・プロシージャーおよびユーザー定義関数は、ルーチン として集合的に参照されることがあります。

ストアード・プロシージャーを使用するアプリケーションには、以下の利点があります。

ネットワーク・トラフィックの削減
ストアード・プロシージャーは、不必要なデータをネットワークで伝送せずに、 データベース・サーバー上で中間処理を実行するために、ストアード・プロシージャーを使用すると、 ネットワーク・トラフィックを削減して、アプリケーション全体のパフォーマンスを改善します。ストアード・プロシージャーはクライアント・アプリケーションが必要なレコードだけを伝送します。

SQL ステートメントを一度に 1 つずつ実行するアプリケーションは、一般にネットワークを 2 回経由します。ストアード・プロシージャーは、SQL ステートメントを 1 つにグループ化することができるため、 SQL ステートメントのグループごとにネットワークを 1 回経由すれば済みます。ストアード・プロシージャーにグループ化する SQL ステートメントが増えるほど、 ネットワーク・トラフィックとデータベース・ロックが保持される時間が減少します。ネットワーク・トラフィックとデータベース・ロックの長さを減らすことで、 ネットワーク・パフォーマンス全体が向上し、ロックの競合問題が減ります。

SQL で生成された大量のデータを処理しても、ユーザーにはデータのサブセットのみ表示するアプリケーションは、 最終処理前にすべてのデータがクライアントに戻されるため、ネットワーク・トラフィックが増えます。ストアード・プロシージャーはサーバー上で処理を行い、必要なデータだけをクライアントに伝送するため、 ネットワーク使用量を減らすことができます。

ハードウェアおよびソフトウェアの機能拡張
ストアード・プロシージャーを使用するアプリケーションは、 サーバー・システム上の増加したメモリーとディスク・スペースにアクセスできます。これらのアプリケーションは、 データベース・サーバー上にのみインストールされているソフトウェアにもアクセスできます。 十分なメモリーとプロセッサーを持つ複数のマシンにわたって、実行可能ビジネス・ロジックを分散することができます。
セキュリティーの改善
データベース管理者 (DBA) は、 静的 SQL を使用するストアード・プロシージャーを持つデータベース特権を組み込むことで、 セキュリティーを改善することができます。ストアード・プロシージャーを作成する人は、 ストアード・プロシージャーが必要とするデータベース特権を持っていなければなりません。 ストアード・プロシージャーを呼び出すクライアント・アプリケーションのユーザーには、そのような特権は必要ありません。 したがって、特権が必要なユーザー数を削減できます。
開発コストの削減と信頼性の向上
データベース・アプリケーション環境では、多くの作業が繰り返されます。繰り返される作業には、修正されたデータのセットを戻すことや、データベースに対して同じ多重要求のセットを実行することなどが含まれます。ストアード・プロシージャーは、このような繰り返し作業を実行するための効率的な方法です。
共通ルーチンの集中化セキュリティー、管理、および保守
サーバーのある場所で共用論理を管理することで、セキュリティー、管理、および保守を単純化します。クライアント・アプリケーションは、 処理をほとんど行わない SQL 照会を実行するストアード・プロシージャーを呼び出すことができます。ストアード・プロシージャーに対する変更内容は、 ただちに、ストアード・プロシージャーを使用するすべてのクライアント・アプリケーションに有効になります。
関連資料
DB2 UDB ストアード・プロシージャーおよびユーザー定義関数のための権限
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005.