ストアドプロシージャは使うべきか
結論
便利だとは思うけど、結局SQL書けた方が幅広く対応出来ると思うので、積極的に使おうとは思わない。ストアドプロシージャとは
ストアドプロシージャはデータベースの一連の処理手順をまとめたもの。プログラミングでいうところのメソッド。
メリット
1.アプリとの通信速度が早くなる2.プログラマが楽になる
うーんざっくり笑
詳細は以下。
1,アプリとの通信速度が早くなる
これはSQLの構文解析とコンパイルが終わっているから。
サッカーで例えるとベンチの選手がウォームアップして、いつでも行けます!みたいな状態です。
2,プログラマが楽になる
一度定義したら長いSQLを書かなくてもいいからです。
夫婦で例えると「テーブルの上の新聞取ってきて」で通じていたものが、「アレ」で通じるようになるようなもんです。
なんだ、ストアドプロシージャいいことばかりじゃん。これは使わない手は無い!
・・・いやいや、でもそんな上手い話ばかりじゃないんでしょ?と思ったらありました。
デメリット
・DBに負荷がかかるサーバー側にストアドプロシージャが保存されるため、ストアドプロシージャ数が増えると負荷がかかるんですね。
理想的な使い方
用途としてはよく使う処理だけストアドプロシージャにまとめる、という使い方が正しい。ストアドプロシージャ機能を使えるDB
・MySQL・PostgreSQL
・Firebird
・Oracle
・SQL Server
・DB2
等。
具体的な設定の仕方は以下が参考になる。
SQL実践講座(20):ストアドプロシージャの作成 - @IT