いくつかの手法があります。
1.ユニーク・インデックス
もし、AS/400のファイルがユニーク・インデックスであれば、パフォーマンスは改善されます。特に大きなテーブルからデータをselectしたり、同じクエリでいくつかのテーブルをJOINする場合です。その場合はファイルにプライマリ・キーを設定し、CREATE UNIQUE INDEXを1度だけ稼動させます。
2.ストアード・プロシージャ
AS/400に送るクエリがいつも同じで、アプリケーションが同じステートメントのクエリを何度も繰り返し、いくつかのパラメータを変更しているのみの場合はAS/400のストアード・プロシージャにそれらのステートメント・クエリをストアしていくつかのSELECT, INSERT, UPDATEなどの代わりに1つのCALLを発行します。
3.カーサ
ADOを使用してVisual BasicやASP/VBSのアプリケーションを開発しているときはConnection や Recordsetオブジェクト用にカーサ・ロケーション・プロパティ設定を選択することができます。
4.パラメトリック・クエリ
パフォーマンスでもっとも重要な要素はパラメトリック・クエリを使用することです。パラメトリック・クエリは「テンプレート・クエリ」として説明されることがあり、同じ規模の大きいテーブルで何度の実行できるクエリです。パラメトリック・クエリは一度準備をすることで、パラメータをパスすることで何度も実行することができます。これによりサーバにその都度送られるオーバーヘッドを削減し、「実行可能なフォーマット」でのクエリにコンパイルし、リクエストにてきせつに応じるためにデータをメモリ・スペースにアロケートし、アクセス・パスを準備します。
詳しくは:http://www.hitsw.com/support/kbase/optimization/Performance_OLEDBandODBC.htm
Posted in: DB2 Connectivity (Syniti DC)