開発Blog

SQL Server利用時の実行速度向上策について

投稿日:

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でこれだけの差が出てきます。ぜひ上記設定を適用くださるようにご検討ください。

以上

-開発Blog
-

執筆者:

関連記事

no image

intra-mart WebPlatform/AppFramework Ver7.2について その1

こんにちは、開発本部の大西です。 ご存知の方が多いかと思いますが、現在、intra-mart WebPlatform/AppFramework の最新リビジョンである、Ver7.2のリリースを3月31 …

no image

Formaパッチ2リリース!さらに楽しく、使いやすく改良♪

IM-FormaDesigner Ver.7.2のパッチ2を本日、リリースいたしました。 パッチ2では、IM-共通マスタとIM-Workflowの画面アイテムの追加や、後処理機能の追加等々を行っていま …

no image

iWP Ver7.xでのチューニング

開発本部の大西です。 開発は半期末とかあまり関係ないと思いきや、諸般の事情でいろいろと大変な今日この頃です。 江本さんがebuilderのネタばかり書くので、傷食気味にならないように、季節柄、チューニ …

no image

IM-Workflowで承認時にも認証を行う方法

IM-Workflowでは、本当に本人が申請・承認しているかを証明するための仕組みとして、「認証確認(再認証)」を設定することができます。 この仕組みを利用すると、ワークフローの申請・承認を行うタイミ …

no image

StartPack4.0とConceptBase Serch1000 ver4.0との連携

  ※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。   スタート …