ストアドプロシージャ
ストアドプロシージャ(英:stored procedure)とは、データベースを操作する一連の処理(SQL文)をひとつのプログラムにまとめものです。
ストアドプロシージャはデータベース管理システム(DBMS)側に保存され、外部からは「プロシージャ名」を指定して実行します。
ストアドプロシージャのイメージ例
クライアントサーバシステムでは、クライアントからデータベースサーバにあるデータベースに対し、SQLを発行します。
次の例では、データベース機能を提供するデータベースサーバを「サーバ」、データベース機能を利用するコンピュータ(Webサーバなど)を「クライアント」としています。
ストアドプロシージャは、このデータベースを操作する一連のSQL文をひとつのプログラムにまとめたものであり、データベース管理システム(DBMS)側にあらかじめ保存しておきます。
あとは、クライアントからあらかじめデータベース管理システム(DBMS)に保存してある「ストアドプロシージャ名」を指定するだけで、クライアントからストアドプロシージャを実行できます。
ストアドプロシージャには一連の処理(SQL文)が書かれているので、ストアドプロシージャを呼び出すと、ストアドプロシージャに書かれている一連の処理(SQL文)が実行されます。
ストアドプロシージャのメリット
ストアドプロシージャの1つ目のメリットは、ネットワークの負荷が軽減できることです。
以下のように、クライアントから複数SQLを発行するより
ストアドプロシージャを1回呼び出した方が、ネットワークの負荷が軽減できます。
ストアドプロシージャの2つ目のメリットは、処理速度の向上が見込めるところです。
ストアドプロシージャは、SQL文の構文解析などが済んだ状態でデータベース管理システム(DBMS)に保存されているため、通常のSQL文より高速に動作します。