pureQuery クライアント最適化対応のステップ

pureQuery クライアント最適化対応と、SQL を静的に実行するための JDBC ベースの Java アプリケーションの構成は、4 つのステップから成るプロセスです。SQL ステートメントのキャプチャー、パッケージ内のステートメントの構成、DB2® データベースに SQL ステートメントが含まれるパッケージのバインド、および SQL ステートメントの静的な実行です。 SQL ステートメントの静的な実行は、必須ではありませんが、pureQuery クライアント最適化の重要な利点です。

pureQuery クライアント最適化対応にするステップは、スタンドアロンのアプリケーションまたはアプリケーション・サーバー・ベースのアプリケーションで共通です。pureQuery クライアント最適化プロセスでは Optim™ Development Studio が役に立ちますが、必須ではありません。必要なステップを実行するには、pureQuery Runtime プロパティーを設定し、pureQuery コマンド行ユーティリティーを使用します。

図 1. DB2 データベースでの SQL 静的実行のための pureQuery クライアント最適化の 4 つのステップ
pureQuery クライアント最適化の 4 つのステップから成るプロセス

アプリケーションの場合、クライアント最適化プロセスは複数回実行でき、プロセス内の各ステップは複数回実行できます。例えば、キャプチャー・ステップを複数回実行して、アプリケーションによって実行される SQL ステートメントを段階的にキャプチャーできます。SQL データのキャプチャーが完了した後、キャプチャーした SQL データをマージし、構成とバインドを実行できます。構成、バインド、および実行のステップは、SQL データをキャプチャーするたびに実行できます。

4 つの基本ステップは以下のとおりです。
  1. キャプチャー

    JDBC アプリケーションを、アプリケーションで実行されている間の SQL ステートメントに関連する情報がキャプチャーされるモードで実行します。収集された情報には、アプリケーションの SQL ステートメントをバインドするために必要な情報が含まれます。SQL ストリング、パラメーターのメタデータ、結果セットのメタデータ、およびスタック・トレースなどの情報は、pureQueryXML ファイル内にキャプチャーされます。SQL データは、テストまたは開発段階でキャプチャーできます。

    キャプチャーした SQL データを含む複数のファイルを作成できます。クライアント最適化プロセス中にキャプチャー・ステップを複数回実行できます。また、クライアント最適化プロセスを複数回実行することもできます。さらに、pureQuery GeneratePureQueryXml ユーティリティーを使用して pureQueryXML ファイルの SQL データを作成することもできます。その後、次のステップで pureQuery Configure ユーティリティーを使用する前に、pureQuery Merge ユーティリティーを使用してキャプチャーした SQL データを含む複数のファイルをマージする必要があります。

  2. 構成

    バインド・ステップのためにキャプチャーした SQL ステートメントを準備します。このステップは、pureQuery クライアント最適化によって SQL ステートメントを静的に実行する場合のみ必須です。このステップで、SQL ステートメントを整理して、ステートメント・セットに分類します。ステートメント・セットは、バインド・ステップで DB2 パッケージを作成するときに使用されます。また、ステートメント・セットにパッケージ情報を割り当てます。パッケージ情報には、パッケージ名、コレクション ID、および整合性トークンなどの情報が含まれます。pureQuery Configure ユーティリティーを使用して、バインド・ステップのために pureQueryXML ファイルを準備します。

  3. バインド

    SQL ステートメントを実行するターゲット・データベース・サーバーへのバインドを実行します。pureQuery StaticBinder ユーティリティーは、IBM® Data Server Driver for JDBC および SQLJ のサービスを使用することによってリモート・バインドを実行します。StaticBinder ユーティリティーは、データベース上に SQL ステートメントが含まれるパッケージを作成し、パッケージをデータベースにバインドすることによって、SQL ステートメントを展開します。StaticBinder ユーティリティーは DRDA® プロトコルに基づいており、DSN BIND コマンドと共にローカル・バインド用に使用できる DB2 for z/OS® 用の DBRM ファイルを生成することもできます。バインドとは、展開アクティビティーです。このステップは、pureQuery クライアント最適化を使用して SQL ステートメントを静的に実行する場合のみ必須です。

  4. 静的実行

    このステップは、pureQuery クライアント最適化によって SQL ステートメントを静的に実行する場合のみ必須です。JDBC アプリケーションを、アプリケーションによって実行される SQL ステートメントが静的に実行されるモードで実行します。pureQuery Runtime は、SQL ステートメントと SQL 情報 (SQL のストリング、カーソル、および結果セット・タイプ、並行性、保持機能などの prepare 属性など) を比較することによって、SQL ステートメントの静的実行をいつ行うかを決定します。このステップは、pureQuery クライアント最適化を使用して SQL ステートメントを静的に実行する場合のみ必須です。

開発およびテスト・プロセスの間に、開発者はアプリケーションに多くの変更を加えることができ、テストまたは実動に増分リリースを提供することができます。pureQuery クライアント最適化は、段階的に実行することも、最終的なシステム・テストの段階ですべてのモジュールを総合的にテストするときに実行することもできます。開発者は、動的に実行され、静的 SQL 実行への移行による影響を受けない SQL ステートメントを、継続的に開発することができます。


フィードバック