スポンサーリンク

[PL/SQL] ストアドのプロシージャ、ファンクションについて

概要

ストアドのプロシージャ、ファンクションとは、
Oracle DBに格納して、ユーザーがいつでも呼び出せるようにできる機能のことです。

以下画像であれば、FUNC_TESTというファンクションをOracle DBに格納しています。

メリット

ストアドを使うメリットは、Oracle DBに格納できるので、他のユーザやファンクションから利用できるようになるので、共有したい場合に利用できます。

また、ストアドを使うことでパフォーマンスが向上します。
パフォーマンスの向上理由は以下の通り。

  • コンパイル済みで格納されるので、コンパイル不要になる
  • メモリ消費はユーザー毎でなく、Oracle DB側で1回のみのメモリ消費
  • SQLクエリ発行はユーザー側でせず、呼び出しだけでいいので、ネットワーク速度が上がる

そのため、頻繫に行われる処理については、ストアドで管理したほうが良いです。