広告 データベース

ストアドプロシージャとは

ストアドプロシージャ

ストアドプロシージャ(英:stored procedure)とは、データベースを操作する一連の処理(SQL文)をひとつのプログラムにまとめものです。

ストアドプロシージャはデータベース管理システム(DBMS)側に保存され、外部からは「プロシージャ名」を指定することでを実行させることができます。

ストアドプロシージャのイメージ例

クライアントサーバシステムでは、クライアントからデータベースサーバにあるデータベースに対しSQL文を実行します。

以下の図例では、データベース機能を提供するデータベースサーバを「サーバ」、データベース機能を利用するコンピュータ(Webサーバなど)を「クライアント」としています。

SQL文の実行

 

ストアドプロシージャは、このデータベースを操作する一連のSQL文をひとつのプログラムにまとめたものであり、データベース管理システム(DBMS)側にあらかじめ保存しておきます。

ストアドプロシージャの例

 

あとは、クライアントからあらかじめデータベース管理システム(DBMS)に保存してある「ストアドプロシージャ名」を指定するだけで、クライアントからストアドプロシージャを実行させることができます。

ストアドプロシージャには一連の処理(SQL文)が書かれているので、ストアドプロシージャを実行することで、ストアドプロシージャに書かれている一連の処理(SQL文)が実行されます。

ストアドプロシージャの実行イメージ

ストアドプロシージャのメリット

ストアドプロシージャの1つ目のメリットは、ネットワークの負荷が軽減できることです。

以下のように、クライアントから複数SQL文を実行するより

SQL文の実行

 

ストアドプロシージャを1回実行した方が、ネットワークの負荷が軽減できます。

ストアドプロシージャの実行イメージ

 

ストアドプロシージャの2つ目のメリットは、処理速度の向上が見込めるところです。

ストアドプロシージャは、SQL文の構文解析などが済んだ状態でデータベース管理システム(DBMS)に保存されているため、通常のSQL文より高速に処理することができます。

helpful