ストアドプロシージャのメリット&デメリット
こういう点には注意していかないとですね。
メリット
- ひとつの要求で複数のSQL文を実行できる(ネットワークに対する負荷を軽減できる)
- あらかじめ構文解析や内部中間コードへの変換をすませるため、処理時間が軽減される
- データベーストリガーと組み合わせることで、複雑なルールによるデータの参照整合性保持が可能になる。簡単に言えば、アプリケーション側にロジックを持たずとも、データベース内のデータのつじつまが合うようにすることができる。
デメリット
- データベース製品ごとに、記述する構文の規約がSQL/PSM規格との互換性が低いため、コード資産としての再利用性が悪い。
- 処理の都合上、アプリケーションのビジネスロジックを組みこまなければならない場合、業務の仕様変更が起こった場合、外部のアプリケーションとともにストアドプロシージャも変更しなければならないため、よけいな手間や変更ミスによる障害を発生させる場合もあるため、メンテナンス性が悪くなる。