ストアドプロシージャとは?すとあどぷろしーじゃ
ストアドプロシージャとは、一連のSQL文と条件分岐・繰返しなどの手続的な処理をあらかじめDBMS側に登録しておき、アプリケーションからは名前と引数を指定して呼び出す仕組み。呼出し1回でまとまった処理が完結する。
最終更新:2026-10-07
この語が出る過去問を解く →背景
アプリケーションとDBMSが別のサーバに分かれている構成では、SQLを1文ずつ送る限り、処理の数だけネットワークの往復が発生する。処理そのものをデータのある側へ移してしまえば、往復するのは呼出しと結果だけになり、回線の遅延の影響を受けにくくなる。「計算をデータの側へ寄せる」というこの発想は、後の分散処理や集約関数の設計にも共通する。
具体例
MySQLやPostgreSQL、Oracle Databaseはいずれもストアドプロシージャに対応しており、月次締め処理のように数十本のSQLを順に実行する処理を1つの呼出しにまとめられる。構文解析済みの実行計画が再利用されやすくなる副次的な利点もある。
試験での引っ掛け
主な利点として問われるのは「アプリケーションとDBMS間のネットワーク通信量の削減」である。令和6年秋の出題では、「実行計画の数を減らす」「必要バッファ数を減らす」「ディスクへのI/O回数を減らす」がいずれも誤りの選択肢として並んだ。同じ処理を行う以上ディスクI/Oは変わらない。DBMS製品固有の言語で書くため移植性が落ちる点は欠点である。
関連用語
出た過去問
出典:令和6年度 春期 高度試験 午前Ⅰ 問9(IPA)
ストアドプロシージャの利点はどれか。
正解:アプリケーションプログラムからネットワークを介してDBMSにアクセスする場合、両者間の通信量を減少させる。
要点:ストアドプロシージャの主な利点は通信量の削減
ストアドプロシージャは、一連のSQL処理をあらかじめDBMS側に登録しておき、アプリケーションからは呼出しだけを行う仕組みである。SQL文を1つずつ送る必要がなくなるため、アプリケーションとDBMSの間でネットワークを流れるデータ量が大きく減る。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。