pureQuery クライアント最適化対応の Informix および DB2 CLI アプリケーションのフィーチャー

データ・サーバーとして Informix® データベース・サーバー または DB2® データベースに接続する CLI アプリケーションで pureQuery クライアント最適化を使用できます。
DB2 データベースでのみ SQL ステートメントの静的実行がサポートされます。ただし、IDS データ・サーバーで pureQuery クライアント最適化対応の CLI アプリケーションを使用する場合、以下のような pureQuery フィーチャーを使用可能に設定できます。
代替 SQL ステートメントの実行
enableDynamicSQLReplacement キーワードを使用して、pureQueryXML ファイルで代替 SQL ステートメントを提供することによって、SQL ステートメントをチューニングできます。アプリケーションの実行時に、この最適化されたステートメントが Informix データベース・サーバーに渡されます。
pureQueryXML データをリポジトリーに保管したり、リポジトリーにある pureQueryXML データを取得する
pureQueryXML ファイルの内容をリポジトリーで保管し、pureQuery クライアント最適化対応の CLI アプリケーションの実行時に その pureQueryXML ファイル・データを指定できます。 pureQueryXML ファイル・データのロケーションは、pureQueryXmlRepository キーワードと propertiesGroupId キーワードで 指定します。

リポジトリーは pureQuery ManageRepository ユーティリティーで作成して管理します。 リポジトリーを作成するためのデータベース要件については、pureQuery システム要件を参照してください。

SQL ステートメントのリテラル置換
sqlLiteralSubstitution キーワードを ENABLE に 設定すれば、pureQuery クライアント最適化で SQL ステートメント・リテラル置換がサポートされます。 pureQuery Runtime では、パラメーター・マーカーを使用して、SQL ステートメントのリテラル・データを置換できます。pureQueryXML ファイル内の SQL ステートメントをキャプチャーするときに、 この機能は pureQueryXML ファイルのサイズを制御するのに役立ちます。 また、SQL ステートメント・リテラル置換によって、問題判別が容易になります。 類似する SQL ステートメントは、pureQueryXML ファイルにおいて単一の SQL ステートメントにグループ化できます。

この機能を使用すれば、他の方法では静的に実行できない可能性のある SQL ステートメントを、パラメーター化された形式で静的に実行できるようになります。 例えば、リテラル値のみが異なる SQL 照会がアプリケーションで実行される場合、SQL リテラル置換では、 パラメーター化されたバージョンのステートメントを静的に実行できます。 考えるリテラルのすべての組み合わせを持つ SQL 照会が含まれたパッケージを作成してバインドする必要はありません。

他の pureQuery キーワードを指定せずに sqlLiteralSubstitution キーワードを ENABLE に設定できます。 pureQuery Runtime は、SQL ステートメントの実行前に、その SQL ステートメント内のリテラル値をパラメーター・マーカーで置き換えます。

キャプチャーした SQL ステートメントのみの実行
pureQuery クライアント最適化対応の CLI アプリケーションでは、IDS データ・ソースの captureOnly= TRUE キーワードがサポートされます。この機能はアプリケーションによって動的に実行される SQL ステートメントを pureQueryXML ファイルにリストされている SQL ステートメントに制限することによって、SQL インジェクションを防止するために役立ちます。
注:

staticBinder ユーティリティーは IDS データベースに対して実行できません。また、executionMode=STATIC キーワードも IDS データベースに接続される CLI アプリケーションではサポートされません。

IDS データ・サーバーでサポートされない pureQuery Runtime キーワードを指定した場合、それは無視されます。


フィードバック