Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


5.8.4 B-treeインデクスのキー長(KEYSZ)の求め方

B-treeインデクスのキー長(変数KEYSZ)の計算方法を次に示します。

まず,次に示す図に従ってB-treeインデクスの種別を特定してください。

図5‒13 B-treeインデクスの種別を特定する方法

[図データ]

次に,特定したB-treeインデクスの種別ごとの計算式によって,KEYSZを求めてください。ただし,各インデクス構成列のキー長は,次に示す表を参照してください。

表5‒19 B-treeインデクスのキー長一覧

項番

分類

データ型

キー長(単位:バイト)

1

数データ

INTEGER

8

2

BIGINT

3

SMALLINT

4

4

DECIMALmn

NUMERICmn

1≦m≦4

2

5

5≦m≦8

4

6

9≦m≦16

8

7

17≦m≦38

16

8

DOUBLE PRECISION

8

9

FLOAT

10

文字データ

CHARACTERn

n

11

VARCHARn

d

12

日時データ

DATE

4

13

TIMEp

3+↑p÷2↑

14

TIMESTAMPp

7+↑p÷2↑

15

バイナリデータ

BINARYn

n

16

VARBINARYn

d

(凡例)

d:実際のデータ長

mn:正の整数

p:0,3,6,9または12

〈この項の構成〉

(1) 単一列インデクスの場合

計算式(単一列インデクス)(単位:バイト)
KEYSZflag_sizekey_size
変数の説明
  • flag_size

    次に示すどれかの値(単位:バイト)

    ・インデクス構成列が,VARCHAR列またはVARBINARY列以外の場合:0

    ・インデクス構成列が,定義長255バイト以下のVARCHAR列またはVARBINARY列の場合:1

    ・インデクス構成列が,定義長256バイト以上のVARCHAR列またはVARBINARY列の場合:2

  • key_size

    インデクス構成列のキー長(単位:バイト)

(2) 固定長列だけの複数列インデクスの場合

計算式(固定長列だけの複数列インデクス)(単位:バイト)

[図データ]

変数の説明
  • idx_col_num

    インデクス構成列の数

  • flag_null

    次に示すどちらかの値(単位:バイト)

    ・インデクス構成列中にナル値を含まないキーの場合:0

    ・インデクス構成列中にナル値を含むキーの場合:1

  • key_sizei

    i番目のインデクス構成列のキー長(単位:バイト)

(3) 可変長列を含む複数列インデクスの場合

計算式(可変長列を含む複数列インデクス)(単位:バイト)

[図データ]

変数の説明
  • idx_col_num

    インデクス構成列の数

  • flag_type

    次に示すどちらかの値(単位:バイト)

    ・B-treeインデクスを構成する列の長さが255バイト以下の場合:1

    ・B-treeインデクスを構成する列の長さが256バイト以上の場合:2

    複数列インデクスを構成する列の長さについては,マニュアルHADB SQLリファレンス定義系SQLCREATE INDEX(インデクスの定義)を参照してください。

  • key_sizei

    i番目のインデクス構成列のキー長(単位:バイト)