データベース

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

2021年3月11日

ストアドプロシージャ

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

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

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

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

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

SQL文の実行

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

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

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

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

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

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

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

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

SQL文の実行

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

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

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

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

helpful