WebSphere ロゴ Classic Federation Server for z/OS バージョン 9.1
WebSphere ロゴ Classic Replication Server for z/OS バージョン 9.1
WebSphere ロゴ Classic Data Event Publisher for z/OS バージョン 9.1
WebSphere ロゴ Data Integration Classic Connector for z/OS バージョン 9.1


複数のレコード配列でのパフォーマンスの考慮

レコード配列定義を含む表をマップするとき、照会からの結果セットが非常に多くの行を戻すためにパフォーマンスが低下する場合があります。

配列としてマップした複数のレコード配列定義が表にあるとき、表を参照する照会は大容量の結果セットを生成します。パフォーマンス上の問題を避けるために、以下のいずれかを行います。

配列ごとに別個の表をマップする場合、フェデレーテッド照会でデータを読み取ることができます。構造を平らにした場合、クライアント・アプリケーションは行を挿入、更新、および削除することができます。

レコード配列定義を配列としてマップするとき、Classic Data Architect はデータ定義を SQL 列に変換します。配列の各インスタンスは、SQL 行を作成するために、非配列データ項目と結合されます。例えば、データベースにある従業員 ID 123456789 のレコードに 3 つの従属が含まれる場合、そのレコードに対して 3 つの個別の行が戻されます。 以下の照会は、結果セットで 3 つの行を戻します。

照会:

SELECT EMP_ID, NUMBER_OF_DEPENDENTS, DEP_ID, DEP_NAME FROM
CAC.EMPL WHERE EMP_ID = '123456789';
結果セット:
EMP_ID    NUMBER_OF_DEPENDENTS  DEP_ID    DEP_NAME
123456789        3              111223333 Depen1
123456789        3              222334444 Depen2
123456789        3              333445555 Depen3

結果セットのサイズの計算

WHERE 文節でフィルタリング述部を指定する前の、配列を含む表への照会で戻された結果セットの行の数を、公式を使用して計算することができます。結果セットにある行の数は、以下の項目のデカルト積です。

<Number of instances in each record array> * <Number of physical records>

各配列にインスタンスがいくつ存在しているかが分からない場合、可変長配列では結果セットにある行の数を計算することができません。

以下の例は、配列が複数あると、大きな結果セットが原因となるパフォーマンス上の問題がどのように発生する場合があるかを示しています。

  1. 従業員は以下のデータ項目を持っています。
    • 4 つの従属
    • 2 つの緊急時連絡先
    • 3 つの割り当て
  2. データベースには 200 の従業員レコードがあります。

照会は従業員ごとに 4 * 2 * 3 = 24 の行を生成し、結果セットには 24 * 200 = 4800 の行が生成されます。

次の例では、COBOL サンプル集に、従属および専門組織についてのデータを含む配列を定義する 2 つの OCCURS 文節があります。
  01  EMPLOYEE-RECORD.
      ...
      05  DEPENDENTS-ARRAY OCCURS 20 TIMES.
      ...
      05  ORGS-ARRAY OCCURS 5 TIMES PIC X(10).

Classic Data Architect の「新しい表 (New Table)」ウィザードを使用してこのレコード・レイアウト用の表定義を作成し、両方の配列を同じ表にマップした場合、単一の従業員レコードの結果セットは DEPENDENTS-ARRAY と ORGS-ARRAY のデカルト積になります。

照会プロセッサーは、NULL の配列インスタンスを戻しません。この例では、従業員は 4 つの従属と 2 つの専門組織を持っています。照会はその従業員に 4 * 2 = 8 の行を生成します。

関連概念
レコード配列
フェデレーションおよび変更キャプチャーのレコード配列定義
関連タスク
表定義における各レコード配列ごとの別個の表の作成
関連資料
配列定義の例
関連情報
クラシック・フェデレーションのデータ・マッピング
変更キャプチャー用のデータ・マッピング


フィードバック

更新アイコン 最終更新日: 2007 年 7 月 11 日