14.3.8 インデクスに関する統計情報

インデクスに関する統計情報を次に示します。

pdstedit VV-RR          ***** INDEX INFORMATION *****
INPUT          :c:¥tmp¥pdstj1 [1]
OUTPUT RANGE   :**/**/** **:**:** - **/**/** **:**:** [2]
CONTROL FILE     :c:¥hirdb¥pdstedit¥CONTROL1 [18]
                                     [19]
FILE GROUP     :SERV1  : FILE1 FILE2 FILE3 FILE4 FILE5
                        FILE6 FILE7 FILE8 FILE9 FILE10
-----------------------------------------------------------------------------
EDIT TIME 1996/10/30 00:00:00 - 1996/10/31 00:00:00 [3]
            [4]   [5]   [6]   [7]   [8]   [9]   [10]  [11]
   *LN1*    C_SLK W_SLK XLOCK DEADL UNQCK UNQER REPOS REPG
            ----- ----- ----- ----- ----- ----- ----- -----
            [12]  [13] [14]
   *LN2*    SP_NM LVL ( NUM )
            ----- ---  -----
SERVER : sds [15]
*INDEX_ID :     196611 [16]
 *RDID    :          3 [17]
   *LN1*    4.32k     0     0     0     0     0     0     0
   *LN2*        0
*INDEX_ID :     196612
 *RDID    :          3
   *LN1*    5.31k     0     0     0     0     0     0     0
   *LN2*        0
*INDEX_ID :     196613
 *RDID    :          3
   *LN1*    4.64k     0 1.35k     0   684     0     0     0
   *LN2*        0
*INDEX_ID :     196614
 *RDID    :          3
   *LN1*       12     0 2.03k     0   684     0     0     0
   *LN2*        0
*INDEX_ID :     196615
 *RDID    :          3
   *LN1*    4.86k     0 1.94k     0     0     0     0     0
   *LN2*        0
-----------------------------------------------------------------------------
FILE KIND   LOG KIND   FIRST                 LAST                         NUM
STJ         idx        1996/10/30 10:38:19   1996/10/30 12:31:45           44
FJ          idx        ****/**/** **:**:**   ****/**/** **:**:**            0
-----------------------------------------------------------------------------
NO FILE KIND:LOG FILE NAME
 LOG KIND             FIRST                 LAST                         NUM
1 STJ      :c:¥tmp¥pdstj1
 sys                  1996/10/30 10:37:33   1996/10/30 12:33:07          112
 uap                  1996/10/30 10:36:38   1996/10/30 12:34:04         1854
 sql                  1996/10/30 10:36:37   1996/10/30 12:34:03        50971
 sop                  ****/**/** **:**:**   ****/**/** **:**:**            0
 dop                  ****/**/** **:**:**   ****/**/** **:**:**            0
 pcd                  ****/**/** **:**:**   ****/**/** **:**:**            0
 buf                  1996/10/30 10:38:19   1996/10/30 12:31:45           44
 fil                  1996/10/30 10:38:19   1996/10/30 12:31:45          440
 dfw                  1996/10/30 10:38:12   1996/10/30 12:33:31          103
 idx                  1996/10/30 10:38:19   1996/10/30 12:31:45           44

[説明]
  1. 統計入力アンロードファイル名,又は統計入力アンロードファイル格納ディレクトリ名(最大58バイト)
  2. 出力指定日時(出力開始日時-出力終了日時)
  3. 編集時間の範囲(取得開始時刻-取得終了時刻)
  4. CHECKモード・キー値参照排他発行回数
    CHECKモード(ほかのユーザが排他を取得している場合は待たないモード)で,キー値に対して参照の排他(PR)を取得した回数です。
  5. WAITモード・キー値参照排他発行回数
    WAITモード(ほかのユーザが排他を取得している場合は待つモード)で,キー値に対して参照の排他(PR)を取得した回数です。
  6. キー値更新排他発行回数
    キー値に対して更新の排他(EX)を取得した回数です。
  7. キー値排他のデッドロック回数
    キー値に対して更新の排他(EX)を取得したことによって発生した,デッドロックの回数です。
  8. ユニークチェック回数
    INSERT文やUPDATE文によって,値の一意性をチェックする処理をした回数です。なお,この値はユニークインデクスの場合にだけ統計情報が取得されます。
  9. ユニークエラー発生回数
    INSERT文やUPDATE文によって,値の一意性をチェックする処理をした結果,既に同じ値を持ったキー値があるため,エラーとなった回数です。なお,この値はユニークインデクスの場合にだけ統計情報が取得されます。
    この回数が多い場合は,ユニークインデクスが必要かどうか再検討する必要があります。
  10. リポジショニング(カレントポジション)回数
    インデクスページ内のキー値を参照している間に,ほかのユーザによって同じページ内にほかの異なるキー値が追加されたり,削除されたりした場合に,参照しているキー値のページ内の位置が変わってしまったときのリポジショニング(補正処理)をした回数です。
  11. リポジショニング(カレントページ)回数
    インデクス内でキー値を探している途中に,目的のキー値があるページでほかのユーザによってスプリットが発生した場合,探しているキー値があるページが変わってしまったときにリポジショニング(補正処理)をした回数です。
  12. スプリット(インデクス分割処理)回数2
    スプリット(インデクス分割処理)1した回数です。
    この回数が多い場合は,インデクスのPCTFREEの比率を高くする必要があります。また,大量にデータを追加する場合は,データベース作成ユティリティ(pdload)を使用した方がよいです。
  13. スプリットが波及した段数2
  14. スプリットが波及した段数別スプリット回数
    スプリット発生によって,スプリット処理が波及した上位ページへの段数ごとのスプリット回数の合計です。
    波及した段数が大きいところでスプリット回数が多い場合は,インデクスページの大きさに比べてキー値が大きいか,又はインデクスのPCTFREEの比率が高過ぎると考えられます。
  15. サーバ名
    インデクスに関する統計情報の出力要求元サーバです。
  16. インデクスID
    統計情報を編集したインデクスのインデクス番号です。
    出力されたインデクス番号を基にディクショナリ表(SQL_INDEXS表)を検索すれば,インデクス名称を知ることができます。
  17. RDエリアID
    統計情報を編集したインデクスを格納しているRDエリアのRDエリア番号です。
    出力されたRDエリア番号を基にディクショナリ表(SQL_RDAREAS表)を検索すれば,RDエリア名称を知ることができます。
  18. 制御文ファイル名(最大58バイト)
    -dオプションで指定した制御文ファイルの名称です。
  19. サーバ名及びファイルグループ名
    -dオプションで指定した制御文ファイル中のサーバ名(解析対象3のサーバ名を表示),及び対応するファイルグループ名です。
注1
13,14は,スプリットが発生した最大インデクス段数分繰り返し表示されます。
注2
12~14は,アンロードログファイル,又は-dオプション指定でシステムログファイルを入力したときだけ表示されます。
注3
4~11は,シンクポイント間で回数をカウントし,各シンクポイント間の合計値を表示します。シンクポイント間でカウントされる回数の最大値は65535のため,実際は表示されている数よりも多く発生している可能性があります。
注4
スプリットが波及した段数について説明します。
[図データ]
[説明]
最初にスプリットが発生するのは,リーフページです。リーフページでスプリットが発生した場合,スプリットによって新しいページが作成されるので,上位ページ(中間ページ)にその新ページを登録する処理がされ,スプリット処理が完了するとします。そうすると,この場合のスプリットが波及した段数は2(LVL)となり,スプリットが波及した段数を2として回数(NUM)をカウントします。
スプリットの発生によって,インデクスの段数が2の上位ページに対してスプリットが波及した場合,更に新ページを上位ページに登録しようとしたときに上位ページに空きがなければ,その上位ページに対してスプリットが発生することになります。そうすると,この場合のスプリットが波及した段数は3(LVL)となり,スプリットが波及した段数を3として回数(NUM)をカウントします。
注※1
スプリットとは,キー値を追加しようとしたときにそのインデクスを格納するRDエリア内の使用中ページに空きがなかったため,空き領域を確保するためにその使用中ページの内容を分割し,後ろ半分を未使用ページへ追加する処理のことをいいます。
注※2
システムログを入力したときだけ出力されます。
注※3
次に示すサーバは解析対象になります。
  • -sオプションで指定したサーバ名と制御文ファイル中のサーバ名が同じ場合のサーバ
  • -sオプションを指定していない場合の制御文ファイルの全サーバ