4.3.1 表の検索方式

表の検索方式は全部で四つあります。各検索方式を順に説明します。

<この項の構成>
(1) テーブルスキャン
(2) インデクススキャン
(3) キースキャン
(4) 行IDフェッチ

(1) テーブルスキャン

テーブルスキャンとは,表が格納されているデータページをすべて参照し,データを取り出す方法です。探索条件が指定されていない場合や,インデクスが定義されていない場合に,テーブルスキャンが実行されます。テーブルスキャンの処理方式を次の図に示します。

図4-1 テーブルスキャンの処理方式

[図データ]

(2) インデクススキャン

インデクススキャンとは,インデクスを使用してデータページからデータを取り出す方法です。インデクスで探索条件の評価を行う場合や,ソート処理をインデクスで代用する場合に,インデクススキャンが実行されます。インデクススキャンの処理方式を次の図に示します。

図4-2 インデクススキャンの処理方式

[図データ]

(3) キースキャン

キースキャンとは,インデクスページを参照してデータを取り出す方法です。データページを参照しないで,インデクスページから列値を取り出すため,参照するページ数を削減できます。データを取り出すすべての列が,検索時に使用するインデクス構成列の場合に,キースキャンが実行されます。キースキャンの処理方式を次の図に示します。

図4-3 キースキャンの処理方式

[図データ]

(4) 行IDフェッチ

行の格納位置を示す値のことを行IDといいます。行IDフェッチとは,この行IDを使用してデータページからデータを取り出す方法です。SQL文の探索条件に行IDを指定する検索や,作業表を作成する検索の場合に,行IDフェッチが実行されます。行IDフェッチの処理方式を次の図に示します。

図4-4 行IDフェッチの処理方式

[図データ]