[Seasar-user:20040] SQLファイル引数で、IN句を使用時のレスポンス低下
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2010年 8月 5日 (木) 10:40:21 JST
お世話になります。平賀です。
現在、Seasar2を使ってアプリ開発をしているのですが、
以下の事象が発生してしまいました。
原因・解決方法をご存知の方がいらっしゃいましたら、
ご教示いただけないでしょうか。
よろしくお願いいたします。
■事象
SQLファイルを使用し、実行している2つのSQLについて
実際実行されているSQLは全く同じであるにも関わらず
SQLファイルへ渡す引数のIN句の使用方法が異なるだけで
レスポンスが大きく違っている。
【方法1】配列を使用 :約20秒
【方法2】文字列を使用 :約10秒
※実行されているSQL文とレスポンスは、「SQL 」で計測しています。
■詳細(2つの使用方法の説明)
1.配列を使用するタイプ
Where句内の条件
/*IF cond.プロパティーb != null*/
AND カラムA IN /*cond.プロパティーb*/('10','20','30')
/*END*/
cond.プロパティーb はString[] 配列
(実際のSQL) AND カラムA IN ('10','20','30')
2.文字列を使用するタイプ
Where句内の条件
/*IF cond.プロパティーb != null*/
AND カラムA IN /*$cond.プロパティーb*/
/*END*/
cond.プロパティーb はString
※Java側でIN句を生成する
(実際のSQL) AND カラムA IN ('10','20','30')
■環境
JDK1.6
Tomcat6.0
SQLServer 2005 SP2
■質問
配列を使用してIN句を生成したいのですが
レスポンスを上げる方法はありませんでしょうか?
Seasar-user メーリングリストの案内