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