SQLServerのJDBCドライバのパラメータ設定方法です。
このパラメータを設定すると、SQLServer利用時のJDBCプログラミングAPIであるjava.sql.PreparedStatement の実行速度が向上します(クライアント(ApplicationRuntime)とDBの文字コードが一致している場合のみ)。
以下の製品に効果があります。
・BaseModule/Framework Ver.4.2以降のワークフロー
・BaseModule/Framework Ver.5.0全般
(ユーザ・組織検索画面及び互換モードは除く)
(1)設定方法
JDBCのパラメータに以下を追加
SendStringParametersAsUnicode=false
BaseModuleの場合は、%ApplicationRuntime%/conf/http.xmlを編集します。
Frameworkの場合は、Webアプリケーションサーバ(Websphere等)側の設定を編集します。
○BaseModuleの設定例
%ApplicationRuntime%/conf/http.xml
<resource-ref>
<res-ref-name>jdbc/sample/sqlserver</res-ref-name>
<res-type>javax.sql.XADataSource</res-type>
<init-param>
<param-name>driver-name</param-name>
<param-value>com.microsoft.jdbc.sqlserver.SQLServerDriver</param-value>
</init-param>
<init-param>
<param-name>url</param-name>
<param-value>jdbc:microsoft:sqlserver://localhost:1433</param-value>
</init-param>
<init-param>
<param-name>user</param-name>
<param-value>v43adv</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>v43adv</param-value>
</init-param>
<init-param>
<param-name>SelectMethod</param-name>
<param-value>Cursor</param-value>
</init-param>
<!-- ここを追記 -->
<init-param>
<param-name>SendStringParametersAsUnicode</param-name>
<param-value>false</param-value>
</init-param>
<!-- ここまで -->
</resource-ref>
○Frameworkの設定例
各Webアプリケーションサーバ製品の設定方法に従ってください。
(2)実測結果
社内環境にて上記設定あり・なしで速度比較を実施しました。
設定なし | 687ミリ秒 |
設定あり | 31ミリ秒 |
同一SQLでこれだけの差が出てきます。ぜひ上記設定を適用くださるようにご検討ください。
以上