よく実行するSQLのパフォーマンスを向上させるために
javaのpreparedstatementにてSQLを実行する。
昨今のフレームワークもSQLはプリコンパイルした形で実行することが多い。
SQLインジェクション対策にもなっている。
これは一見、よさそうに見える。
但し、以下の点に注意
パラメータ数が多いもの。
この場合、SQLをプリコンパイルするのにかなりの時間を要するので逆に
パフォーマンス低下を発生させかねない。
簡単な確認しか行っていないがPostgres8.2.5ではだいたい100以上のパラメータ
をつけると急激にパフォーマンス低下が発生した。
みなさんどうですか?
0 件のコメント:
コメントを投稿