Hitachi

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


17.5.6 検索方法の種類

検索方式については,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。

〈この項の構成〉

(1) インデクスを使用しない検索

TABLE SCAN

インデクスを使用しないで,表のデータページを検索します。

(2) 一つのインデクスを使用した検索

INDEX SCAN

単一列インデクスのインデクスページを検索して絞り込んだ後,表のデータページを検索します。

KEY SCAN

単一列インデクスのインデクスページだけを検索します。データページは検索しません。

MULTI COLUMNS INDEX SCAN

複数列インデクスのインデクスページを検索して絞り込んだ後,表のデータページを検索します。

MULTI COLUMNS KEY SCAN

複数列インデクスのインデクスページだけを検索します。データページは検索しません。

PLUGIN INDEX SCAN

プラグインインデクスを使用して絞り込んだ後,表のデータページを検索します。

PLUGIN KEY SCAN

プラグインインデクスを使用してインデクスページだけを検索します。データページは検索しません。

(3) SELECT-APSL

SELECT-APSL(HiRDB/パラレルサーバの場合だけ)

条件に?パラメタを含んでいる場合,?パラメタの値によって最適な検索方法が変わることがあります。また,前処理時に?パラメタの値が決まらないため,最適な検索方法が決定できません。そのため,SQL実行時にヒット率を計算して検索方法を決定します。

(4) 複数のインデクスを使用した検索

AND PLURAL INDEXES SCAN

AND演算子又はOR演算子で結ばれた探索条件に対して,それぞれのインデクスを使用して検索し,行識別子(ROWID)をそれぞれの作業表に格納します。これらの作業表を,AND演算子の場合は積集合,OR演算子の場合は和集合,ANDNOT演算子(ASSIGN LIST文でだけ使用できます)の場合は差集合をとって,一つの作業表にまとめます。その後,この作業表の行識別子を基に行を取り出します。

各条件から行識別子の作業表を作成するときに,条件列にインデクスがなくても,TABLE SCANによって作業表を作成する場合があります。

OR PLURAL INDEXES SCAN

OR演算子で結ばれた探索条件に対して,それぞれのインデクスを使用して検索し,行識別子(ROWID)を一つの作業表に格納します。この作業表の重複する行を重複排除した後,行識別子を基に行を取り出します。

各条件から行識別子の作業表を作成するときに,条件列にインデクスがなくても,TABLE SCANによって作業表を作成する場合があります。

(5) 作業表の検索

LIST SCAN

内部的に作成した作業表を検索します。

(6) 行識別子を使用した検索

ROWID FETCH

行識別子(ROWID)をキーにして表を検索します。行を取り出す必要がない場合は検索しません。