pureQuery クライアント最適化を使用した SQL ステートメントのキャプチャーに関する推奨

最良の結果を出すために、開発フェーズの最後またはテスト・フェーズ中に、pureQuery クライアント最適化を使用して SQL データのキャプチャーを実行します。pureQuery Runtime プロパティーを適切に設定して、SQL データのキャプチャーを制御し、SQL データのキャプチャー後にアプリケーションをシャットダウンします。
キャプチャー・アクティビティーの環境
  • SQL データのキャプチャーを実行する最良のタイミングは、開発サイクルの最後またはテスト・サイクル中です。性能低下の可能性があるため、実動中に SQL データをキャプチャーしないでください。

    SQL データをキャプチャーしたり、pureQuery クライアント最適化をテストしたりするためのテスト環境は、実稼働環境に可能な限り一致するものにする必要があります。

  • 実稼働環境で SQL データをキャプチャーする必要がある場合は、データベースのリポジトリーを使用します。
SQL データのキャプチャーを制御するためのプロパティー設定
  • 適切なキャプチャー・レベルを以下のように選択します。
    • WebSphere® 環境では、アプリケーション内で使用されるデータ・ソース・レベルでキャプチャーを実行します。同じデータ・ソースを使用する他のアプリケーションに影響を及ぼさないようにしてください。

      複数のアプリケーションでデータ・ソースを共有しており、アプリケーション・レベルで SQL ステートメントをキャプチャーする必要がある場合は、アプリケーション固有の pureQuery Runtime プロパティーを設定します。このようなアプリケーション固有のプロパティーによってデータベースのリポジトリーを指定できるようになり、アプリケーションのプロパティー管理が容易になります。

    • WebSphere を使用しない環境の場合、アプリケーション内で使用される接続 URL のレベルでキャプチャーを実行します。
  • SQL データのキャプチャー時の pureQuery Runtime プロパティー・ファイルの細分度および有効範囲を適切に選択します。必要以上のデータをキャプチャーしないでください。

    接続、データ・ソース、アプリケーション固有、グローバルなど、必ず適切なレベルで pureQuery Runtime プロパティーを設定してください。例えば、pureQuery Runtime プロパティーを WebSphere インストール済み環境のグローバル・レベルでキャプチャーするように設定した場合、すべてのアプリケーションから同一のファイルに書き込みが実行されます。

  • SQL データのキャプチャー時の必要に応じて、pureQuery Runtime プロパティーをカスタマイズします。

    例えば、pureQueryXML ファイルのサイズの最小化、および処理速度の向上のために、スタック・トレース情報が不要な場合にその情報のキャプチャーを使用不可に設定できます。

  • pureQuery Runtime プロパティーの maxStackTracesCaptured または stackTraceDepth に値 -1 を指定してすべてのスタック・トレースまたはすべてのスタック・トレース・エレメントをキャプチャーすることは避けてください。

    最小サイズのスタック・トレースは、pureQuery Runtime プロパティー packagePrefixExclusion を使用してスタック・トレースの内容をフィルター処理することによって収集できます。

  • リテラル値を含む SQL ステートメントをアプリケーションで実行する場合、pureQuery SQL リテラル置換機能を使用することを考慮します。

    同じ構文を共有しており、含まれるリテラル値のみが異なる、多くの SQL ステートメントをアプリケーションで実行する場合、pureQuery Runtime でリテラル値の代わりにパラメーター・マーカーを使用して、これらのステートメントをキャプチャーおよび統合することができます。

  • 問題が発生した場合にのみトレースを使用可能にします。

    pureQuery Runtime で静的 SQL 実行の潜在的な問題が報告されるように指示するには、IBM® Data Server Driver for JDBC and SQLJ トレースを使用可能に設定し、pureQuery トレースをレベル FINER に設定します。

キャプチャーした SQL データを格納するファイル
SQL データをディスク上のファイルにキャプチャーした後、キャプチャー操作の完了後にアプリケーションをシャットダウンして、pureQuery Runtime がファイルへのデータの書き込みを完了したことを確認します。キャプチャー・ファイルは完全である必要があり、Merge ユーティリティーや Configure ユーティリティーを実行する前に閉じられている必要があります。

この実施は、WebSphere アプリケーションで pureQuery Runtime がキャプチャーした SQL データをディスク上のファイルに書き込む場合、特に必要です。

データベースに作成されたリポジトリーに、キャプチャーした SQL データを pureQuery Runtime が保管している場合、アプリケーションをシャットダウンする必要はありません。キャプチャーした SQL データはリポジトリーのレコードに書き込まれます。データを抽出する場合、pureQuery ManageRepository ユーティリティーでは、データのキャプチャーに使用中のレコードから pureQueryXML ファイルは作成されません。


フィードバック