今回のテーマは「ストアドプロシージャ」についてです。
ストアドプロシージャ?
基本情報技術者試験や応用情報技術者試験で出題される「ストアドプロシージャ」についての問題。聞きなれない言葉なので、難しく感じますが、「ストアドプロシージャ」の意味を知っていれば、そこまで難しい問題ではありません。
本記事では、「ストアドプロシージャ」について解説しています。
スポンサーリンク
目次
ストアドプロシージャとは
ストアドプロシージャとは、データベースに対する一連の処理をまとめた手続きにして、DBMS(データベース管理システム)に保存したものです
ストアドプロシージャは、DBMS(データベース管理システム)側に保存され、ストアドプロシージャを利用する際は、外部からプロシージャ名を指定します。
通常SQLは、クライアント(Webサーバなど)から、データベースサーバにあるデータベースに対し、SQLを発行します。
ストアドプロシージャは、データベースを操作する一連のSQL文をひとつのプログラムにまとめたものであり、DBMS(データベース管理システム)側にあらかじめ保存しておきます。
あとは、クライアントからDBMS(データベース管理システム)に保存してある「ストアドプロシージャ名」を指定すれば、ストアドプロシージャが動き出します。
ストアドプロシージャの特徴
ストアドプロシージャを利用するメリットには次の2つがあります。
- クライアント-サーバ間の通信量を削減できる
- SQLの処理速度が速くなる
クライアント-サーバ間の通信量を削減できる
通常SQLは、クライアント側(Webサーバなど)に配置されているため、SQLを発行するたびに、クライアントとサーバー間で通信が発生します。(SQLを発行するたびに通信が発生する)
それに対し、ストアドプロシージャは、DBMS(データベース管理システム)側にあらかじめ保存されているため、1回の通信でストアドプロシージャを実行できます。(ストアドプロシージャを呼び出すたびに通信が発生する)
このように、クライアントからサーバに対して、ストアドプロシージャ1回の要求で、データベースに複数のSQLを実行できるので、クライアントから直に同数のSQLを発行する場合と比較して、クライアント-サーバ間のネットワーク負荷の削減が期待できます。
SQLの処理速度が速くなる
ストアドプロシージャは、SQL文の構文解析などが済んだ状態でDBMS(データベース管理システム)に保存されます。
そのため、外部プログラムからSQL文を発行するより、ストアドプロシージャの方が高速に動作します。
基本情報技術者試験 過去問の解説
スポンサーリンク
基本情報技術者平成27年春期 午前問27
クライアント側からストアドプロシージャを利用したときの利点として,適切なものはどれか、ア~エを順番に確認していきます。
ア:クライアントとサーバ間の通信量を削減できる。
正解:ストアドプロシージャを利用したときの利点のひとつです。
イ:サーバ内でのデータベースファイルへのアクセス量を削減できる。
不正解:サーバ内でのデータベースファイルへのアクセス量は削減できません。
ウ:サーバのメモリ使用量を削減できる。
不正解:サーバのメモリ使用量は削減できません。
エ:データベースファイルの格納領域を削減できる。
不正解:データベースファイルの格納領域は削減できません。
「ア」が正解です。