代替 SQL ステートメントを pureQueryXML ファイルに追加する

pureQueryXML ファイルに、キャプチャーしていないステートメントの代わりにアプリケーションが実行する SQL ステートメントを追加できます。

pureQueryXML ファイル内の SQL ステートメントをキャプチャーした後、1 つ以上のステートメントがアプリケーションの要求どおりに機能していないと分かる場合があります。ところが、その事実を発見したのが開発サイクルの後期であったために、アプリケーションの修正や再展開が不可能な場合があります。ただし、十分に機能していない各 SQL ステートメント用の代替ステートメントを追加することで pureQueryXML ファイルを編集することができます。アプリケーションの実行時、pureQuery は、最初にキャプチャーした SQL ステートメントでなく代替 SQL ステートメントを使用します。

重要: IBM は pureQueryXML ファイルの編集にワークベンチを使用することを推奨します。ワークベンチは、これらのファイルを使用不可能にしてしまうエラーを起こさずに編集するのに役立ちます。

例えば、表の統計を収集した後に、SQL ステートメントのパフォーマンスが低下し始めたとします。 この問題が実動システムで発生する場合は、データベース管理者は表の統計への変更を元に戻し、アプリケーション内の SQL への変更を要求する必要があるかもしれません。pureQuery を使用すれば、データベース管理者はこのような方法を行わずに、パフォーマンスに劣るステートメントが記述されている pureQueryXML ファイルに代替 SQL ステートメントを追加できます。

代替 SQL ステートメントをバインドするかどうかを選択できます。バインドはしていないものの、それらを使用する必要がある場合は、アプリケーションの実行時に enableDynamicSQLReplacement プロパティーを TRUE に設定する必要があります。

  1. アプリケーション内で SQL ステートメントをキャプチャーします。 SQL Outline 用の SQL ステートメントのキャプチャーを参照してください。
  2. その結果作成された pureQueryXML ファイルを編集して代替ステートメントを追加します。
    重要: IBM はこの手順にワークベンチを使用することを推奨します。 ワークベンチは、ファイルを使用不可能にしてしまうエラーを起こさずに編集するのに役立ちます。
  3. 以下のどちらかのステップを実行します。
    • 代替ステートメントを静的に実行する場合は、通常どおり、Configure ユーティリティーと StaticBinder ユーティリティーを pureQueryXML に対して実行します。
    • 代替ステートメントを動的に実行する場合は、enableDynamicSQLReplacement プロパティーを pdq.properties ファイル内で TRUE に設定するか、または JVM システム・プロパティーとして設定します。どちらの場所でも、プロパティー名は "pdq." から始まるようにします。.
      重要: このプロパティーを DB2JccConfiguration.properties ファイル内に、または db2.jcc.pdqProperties ストリングの JVM システム・プロパティーに設定することはできません (例、-Ddb2.jcc.pdqProperties="...")。.
  4. アプリケーションを実行します。 SQL ステートメントを静的に実行するための JDBC アプリケーションの実行を参照してください。

フィードバック