- ベストアンサー
ストアドプロシージャの多用でパフォーマンスは向上するか?
抽象的な話で非常に恐縮なのですが、 ストアドの中で行うSELECTやINSERTなどの処理を 更にストアドにすることで、パフォーマンスは向上するのでしょうか? たとえば、「テーブルAの内容を取得してテーブルBにINSERT」というストアドがあったとします。 この場合、以下のような記述になると思います。 ---------------------------------- SELECT (略) FROM TBL_A INSERT INTO TBL_B (略) ---------------------------------- このSELECT及びINSERT処理をそれぞれストアド化し、 ---------------------------------- EXEC SP_A (略) EXEC SP_B (略) ---------------------------------- とすると、わずかなりでも処理速度は向上するのでしょうか? (極論ですが、全てのSELECT、INSERT、UPDATEをストアド化するのがベストなのでしょうか?) 現在、数百万~数千万件のレコードを処理するストアドを作成中で、処理時間の短縮が大きな課題になっています。 1件あたりの処理が0.1秒でも縮めば、10万件の処理時間は10,000秒(=3時間弱)の短縮になり、決して馬鹿にはできません。 妙な質問ですが、良策があればご教授ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- driverII
- ベストアンサー率27% (248/913)
回答No.2
- tsukasa-12r
- ベストアンサー率65% (358/549)
回答No.1
お礼
有難うございます。 確かに、インデックスやクエリ文の見直しで改善するところもありました。 どうやら、修行が足りないようです…。