pureQueryXML エディターでの代替ステートメントのファイルへの追加

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

このタスクについて

pureQueryXML ファイルに SQL ステートメントを取り込んだ後に、アプリケーションで必要なパフォーマンスを下回っているステートメントが 1 つ以上見つかる場合があります。 ただし、開発サイクルの終盤にこの事実を見つけた場合には、アプリケーションの修正が可能ではないことがあります。 このような場合には、低パフォーマンスの各 SQL ステートメントの代替 SQL ステートメントを追加することで、pureQueryXML ファイルを編集できます。 アプリケーションの実行時には、pureQuery は、元に取り込んだ SQL ステートメントの代わりに代替 SQL ステートメントを使用します。

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

代替ステートメントを追加すると、以下の作業を行うことができます。
  • OPTIMIZE FOR 1 ROW を追加して、アクセス・パスを制御します。
  • ORDER BY 節を追加して、索引の使用法を制御します。
  • FETCH FIRST n ROWS ONLY 節、OPTIMIZE FOR n ROWS 節、または FOR FETCH ONLY 節を追加して、分散照会のフェッチ・サイズを制御します。
  • WITH ISOLATION 節または SKIP LOCKED DATA 節を使用してロッキング動作を変更します。
  • QUERYNO 節を使用して EXPLAIN データを管理します。

これらの代替ステートメントを使用するには、アプリケーションの実行時に enableDynamicSQLReplacement プロパティーを TRUE に設定する必要があります。

次の 2 つのタイプのいずれかを除き、SQL ステートメントの代替ステートメントを追加できます。

手順

代替ステートメントを追加または編集するには、以下のようにします。

  1. 実行時に代替ステートメントで置き換えるステートメントを右クリックして、「ステートメントの編集」を選択します。
  2. エディターの上部に表示される「デフォルト・スキーマ (Default schema)」フィールドで、追加または編集中の SQL ステートメント内で非修飾データベース・オブジェクトの参照に使用するスキーマの名前を選択または入力します。 SQL ステートメントで別のスキーマ内にあるデータベース・オブジェクトを参照する必要がある場合は、対応するスキーマの名前でオブジェクトの名前を修飾する必要があります。 このフィールドに指定した値は、pureQueryXML ファイル内にあるすべての SQL ステートメントに適用されます。
  3. 代替ステートメントに貼り付けるか、代替ステートメントを入力します。

    ヒント: 比較エディターを使用して、代替ステートメントと元のステートメントを比較することができます。 両方のステートメントを選択して右クリックし、「比較 (Compare)」を選択します。

    制約事項:
    • SQL ステートメントに指定されたパラメーター・マーカーが含まれる場合は、代替ステートメントに同数のパラメーター・マーカーが存在し、そのマーカーの順序が同じでなければなりません。
    • 代替 SELECT ステートメントの結果セットは、元の SELECT ステートメントの結果セットと一致していなければなりません。
  4. 代替ステートメントを追加または編集したら、「Enter」を押します。 エディターによって、新規ステートメントと前のステートメントとの互換性が検査されます。

フィードバック