ノンストップデータベース HiRDB Version 9 コマンドリファレンス(UNIX(R)用)

[目次][索引][前へ][次へ]

16.3.2 取得する最適化情報

最適化情報収集ユティリティが取得する最適化情報,又は最適化情報パラメタファイルによって登録する最適化情報を次の表に示します。

表16-2 最適化情報収集ユティリティが取得する最適化情報,又は最適化情報パラメタファイルによって登録する最適化情報

項番 取得項目 分類 内容 最適化の精度が向上するSQL 登録した最適化情報がデータベースの状態と一致しなくなる処理 項目名※1
1 行数 T 対象表のすべての行数 結合を含むSQL 対象表の行数が変わる更新系SQL NROWS
2 データページ数 T 対象表の行データ格納ページ数の合計 検索条件にインデクス構成列を含むSQL 更新系SQL NPAGES
3 インデクスキーのユニーク値の数 I ナル値。ただし,最適化情報パラメタファイルを指定して登録する場合は,指定値を登録します。 NENTRY
4 インデクスページ数 I インデクス格納使用ページ数の合計 NIPAGES
5 インデクス段数 I 各シングルサーバ内又は各バックエンドサーバ内のインデクス段数の最大値 NLEVEL
6 シーケンシャル度 I インデクスキー値の順番で行データが格納されている割合 SEQ_RATIO
7 ナル値数 C 列中のナル値の数 検索条件に単一列インデクスの構成列,又は複数列インデクスの第1構成列を含むSQL NNULLS
8 最大重複列値数 C 一つの列値に対する重複数の最大値 N_MAX_DUP_KEY
9 最小重複列値数 C 一つの列値に対する重複数の最小値 N_MIN_DUP_KEY
10 列値の分布情報 C 列値の分布情報※2 MAX_VALUE,MIN_VALUE,SECTION_COUNT,SEC_TOTAL_COUNT,SEC_UNIQUE,SEC_MAX_VALUE
11 列ユニーク値数 C 列のユニーク値数 NUNIQUE
12 統計情報キャッシュサイズ T HiRDBシステムが利用する作業用の領域

(凡例)

T:
表に関する情報であることを示します。

I:
インデクスに関する情報であることを示します。

C:
列に関する情報であることを示します。
  • 検索による最適化情報の収集の場合
    インデクス構成列に関する情報です。インデクスが定義されている場合に収集されます。ただし,複数列インデクスの場合は,第1構成列の情報だけを収集します。
  • 最適化情報パラメタファイルによる最適化情報の登録の場合
    最適化情報パラメタファイルで指定した列に関する情報です。

−:
該当しません。

注※1
最適化情報パラメタファイルに記述する項目名のことです。最適化情報パラメタファイルに記述する項目名については,「16.4.1 最適化情報パラメタファイルの項目」を参照してください。

注※2
列が文字データ,各国文字データ,及び混在文字データの場合は,引用符(")で囲んで表示します。ただし,データに制御文字が含まれている場合,及び列に文字集合が指定されている場合は,引用符(")を表示しません。また,バイナリデータの場合は16進表記で表示します。
列のデータ型がCHAR,NCHAR,及びMCHARの場合は先頭16バイトを,VARCHAR,NVARCHAR,及びMVARCHARの場合は先頭14バイトを,BINARYの場合は先頭12バイトを表示します。ただし,マルチバイト文字がMCHARで16バイト以上,MVARCHARで14バイト以上の場合は,そのマルチバイト文字を表示します。
なお,16進表記は,x'****',又はX'****'の形式とします。****の部分は,16進文字列(0〜9,a〜f,及びA〜F)を2文字単位に記述します。

 

インデクス構成列のキー値の分布情報として取得又は登録する情報を次の表に示します。

表16-3 インデクス構成列のキー値の分布情報として取得又は登録する情報

項番 取得項目 内容
1 ナル値数 列中のナル値の数
2 表の行数 対象表のすべての行数
3 列のデータ長 列のデータ長
4 列のデータ型 列のデータ型
5 区間数
  • (表の行数−列のデータがナル値の行数)の数を,最大100区間に分割した場合の区間数
  • 行数が100未満の場合は行数を設定
  • 項番8〜10の情報を区間数分取得
6 列値の最大値 列の値の最大値
7 列値の最小値 列の値の最小値
8 区間の累積度数 第1区間から該当する区間までの要素数の合計
9 区間内のユニーク値の数 該当する区間内の列値のユニーク数
10 区間内の列値の最大値 該当する区間内の列値の最大値

注※
  • 表の格納データが0件,又はすべてナル値の場合
    次の表の初期値が取得,又は登録されます。
  • 表の格納データにナル値以外のデータがある場合
    次の表の格納内容が取得,又は登録されます。
    項番 列のデータ型 初期値 格納内容
    1 INT〔EGER〕 0 表データ,又は初期値
    2 SMALLINT 0
    3 〔LARGE〕 DEC〔IMAL〕 +0
    4 FLOAT,又はDOUBLE PRECISION 0
    5 SMALLFLT,又はREAL 0
    6 CHAR〔ACTER〕
    • 定義長が16バイト以下の場合
      0が定義長バイト分取得,又は登録されます。
    • 定義長が17バイト以上の場合
      0が16バイト分取得,又は登録されます。

    • 定義長が16バイト以下の場合
      表データ,又は初期値
    • 定義長が17バイト以上の場合
      表データの先頭16バイト,又は初期値
    7 VARCHAR 長さ0の文字列
    • 文字列長,又はデータ長が16バイト以下の場合
      表データ,又は初期値
    • 文字列長,又はデータ長が17バイト以上の場合
      表データの先頭16バイト,又は初期値
    8 NCHAR
    • 定義長が8バイト以下の場合
      0が定義長×2バイト分取得,又は登録されます。
    • 定義長が9バイト以上の場合
      0が16バイト分取得,又は登録されます。

    • 定義長が16バイト以下の場合
      表データ,又は初期値
    • 定義長が17バイト以上の場合
      表データの先頭16バイト,又は初期値
    9 NVARCHAR 長さ0の文字列
    • 文字列長,又はデータ長が16バイト以下の場合
      表データ,又は初期値
    • 文字列長,又はデータ長が17バイト以上の場合
      表データの先頭16バイト,又は初期値
    10 MCHAR
    • 定義長が16バイト以下の場合
      0が定義長バイト分取得,又は登録されます。
    • 定義長が17バイト以上の場合
      0が16バイト分取得,又は登録されます。

    • 定義長が16バイト以下の場合
      表データ,又は初期値
    • 定義長が17バイト以上の場合
      表データの先頭16バイト,又は初期値
    11 MVARCHAR 長さ0の文字列
    • 文字列長,又はデータ長が16バイト以下の場合
      表データ,又は初期値
    • 文字列長,又はデータ長が17バイト以上の場合
      表データの先頭16バイト,又は初期値
    12 DATE 0000-00-00 表データ,又は初期値
    13 TIME 00:00:00
    14 INTERVAL YEAR TO DAY +00000000.
    15 INTERVAL HOUR TO SECOND +000000.
    16 TIMESTAMP 0000-00-00 00:00:00.0....0
    17 BINARY 長さ0のデータ
    • 文字列長,又はデータ長が16バイト以下の場合
      表データ,又は初期値
    • 文字列長,又はデータ長が17バイト以上の場合
      表データの先頭16バイト,又は初期値
注※
文字集合が指定されたCHAR型,又はVARCHAR型の列の場合,指定された文字集合のデータで格納されます。