なんとなくわかる「ストアドプロシージャ」

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

ストアドプロシージャ(stored procedure)とは、DBMSの機能の一つであり、データベースへ送る複数の処理を一度に実行するための手続きのことを指します。

まずプロシージャ(procedure)というのが、プログラミングにおいて複数の処理を一つにまとめたものを指します。まとめることで保守性や再利用性などの向上が見込めるためこの手法はよく使われます。別の意味では関数の戻り値がないものをプロシージャといい、戻り値があるものはファンクションといいます。

ストアドプロシージャはこの複数の処理を一時的に保存するためstored(保存された)という言葉が加えられています。

DBMSにデータベースを操作するSQL文や特定のプログラム言語をコンパイルしたものを格納することで高速で呼び出すことが可能になります。

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

アクセス負荷の低下

処理をひとまとめにすることで、データベース検索→データベースの変更→データベースの更新の3つのアクセスを必要をする処理をストアドプロシージャによって1つにまとめることでアクセス回数を1回で処理することができるため効率が良くなります。

保守性の向上

ストアドプロシージャを使うことで、データベースの処理をDBMSの中で完結するためアプリケーション側の保守性が向上します。

処理時間の短縮

ストアドプロシージャはDBMS内にコンパイルされた状態で格納されているためコンパイルによる構文解析やエラーの解析を必要としません。それによってコンパイルの時間を省略することができ処理時間の短縮が可能になります。

コメント

タイトルとURLをコピーしました