2007/11/28

DBのはまりどころ

よく実行するSQLのパフォーマンスを向上させるために
javaのpreparedstatementにてSQLを実行する。

昨今のフレームワークもSQLはプリコンパイルした形で実行することが多い。
SQLインジェクション対策にもなっている。

これは一見、よさそうに見える。
但し、以下の点に注意
パラメータ数が多いもの。
この場合、SQLをプリコンパイルするのにかなりの時間を要するので逆に
パフォーマンス低下を発生させかねない。
簡単な確認しか行っていないがPostgres8.2.5ではだいたい100以上のパラメータ
をつけると急激にパフォーマンス低下が発生した。
みなさんどうですか?

0 件のコメント: