Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


17.3.3 検索の順序,開始位置および方向

レコード型内の検索と親子集合型内の検索は,順序,開始位置および方向を決定してレコードを検索します。

順序は,レコードの並び順です。検索結果は,順序に従い検索された結果となります。開始位置は,順序で並んだレコード中の検索の開始位置です。方向は,順序で並んだレコードの検索方向(順方向,または逆順方向)です。

検索ごとの順序,開始位置および方向について説明します。

〈この項の構成〉

(1) レコード型内の検索

レコード型内の検索の順序,開始位置,方向は,次の3つの要素によって決定します。

レコード型内の検索での順序,開始位置,方向を次の表に示します。

表17‒4 レコード型内の検索での順序,開始位置,方向

項番

指示コード

レコード位置指示子の状態

検索順序の状態

順序

開始位置

方向

1

FIRST

DMLの指定内容に従い検索に使用するインデクスをシステムが選択します。順序はインデクスのキー値の順となります。

インデクスの先頭のキー値を持つレコード

インデクスのキー値の順方向

2

NEXT

空値

DMLの指定内容に従い検索に使用するインデクスをシステムが選択します。順序はインデクスのキー値の順となります。

インデクスの先頭のキー値を持つレコード

3

有効

無効

DMLの指定内容に従い検索に使用するインデクスをシステムが選択します。順序はインデクスのキー値の順となります。

位置指示子が示すレコードの1つあとのキー値を持つレコード

4

有効

検索に使用するインデクスのキー値の順となります。

位置指示子が示すレコードの1つあとのキー値を持つレコード

(凡例)

−:該当しない,または状態に影響されない

注※

インデクス選択規則については「17.3.2 インデクス選択規則」を参照してください。

(例)

[図データ]

[図データ]

(2) 親子集合型内の検索

親子集合型内の検索の順序,開始位置,方向は次の2つの要素によって決定します。

親子集合型内の検索での順序,開始位置,方向を次の表に示します。

表17‒5 親子集合型内の検索での順序,開始位置,方向

項番

指示コード

親子集合位置指示子の子レコードの状態

順序

開始位置

方向

1

FIRST

親子集合型のレコード間ポインタの順序

親レコードのFIRSTポインタが指すレコード

NEXTポインタの方向

2

LAST

親レコードのLASTポインタが指すレコード

PRIORポインタの方向

3

NEXT

有効

複合状態ではない

位置指示子の子レコードのNEXTポインタが指すレコード

NEXTポインタの方向

4

複合状態である

位置指示子の子1のレコードのNEXTポインタが指すレコード

5

空値

親レコードのFIRSTポインタが指すレコード

6

PRIOR

有効

複合状態ではない

位置指示子の子レコードのPRIORポインタが指すレコード

PRIORポインタの方向

7

複合状態である

位置指示子の子2のレコードのPRIORポインタが指すレコード

8

空値

親レコードのLASTポインタが指すレコード

(凡例)

−:状態に影響されない

親子集合位置指示子の複合状態については,「2.5.3 位置指示子」を参照してください。