[Seasar-user:20041] Re: SQLファイル引数で、IN句を使用時のレスポンス低下

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2010年 8月 5日 (木) 12:30:37 JST


小林 (koichik) です.

Date:    Thu, 5 Aug 2010 10:40:21 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:20040] SQLファイル引数で、IN句を使用時のレスポンス低下

>   SQLファイルを使用し、実行している2つのSQLについて
>   実際実行されているSQLは全く同じであるにも関わらず
>   SQLファイルへ渡す引数のIN句の使用方法が異なるだけで
>   レスポンスが大きく違っている。
> 
>   【方法1】配列を使用      :約20秒
>   【方法2】文字列を使用    :約10秒

IN 句の値がバインド変数か直接埋め込まれるかで
使われるインデックスが異なっているのでは
ないでしょうか.
まずは実行計画を確認してみてください.

その上で,バインド変数を使った場合も値を
埋め込んだ場合と同じ実行計画になるように
ヒントを指定するなどしてみてください.

また,質問する際は使用しているプロダクトと
バージョンを明記した方が返答がつきやすく
なるかもしれません.
SQL ファイルを使用できるプロダクトだけでも
S2Dao,S2JDBC,Doma,DBFlute と複数あるので.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内