5.1.1 テーブルスキャンとは
テーブルスキャンとは,B-treeインデクスおよびテキストインデクスを使用しないで表を検索する方式のことです。次の場合にテーブルスキャンが実行されます。
-
B-treeインデクスおよびテキストインデクスが表に定義されていない場合
-
B-treeインデクスおよびテキストインデクスを有効に利用できる探索条件が指定されていない場合
-
インデクス指定にWITHOUT INDEXが指定されている場合
テーブルスキャンの例を次の図に示します。
- [説明]
-
探索条件中に指定されているC3列はインデクス構成列ではないため,上記のSELECT文を実行した場合,B-treeインデクスIDX_C1C2は使用されません。そのため,テーブルスキャンが実行されて,データページ内のすべての行にアクセスします。
なお,表にレンジインデクスが定義されている場合,レンジインデクスが使用されることがあります。
- メモ
-
インデクス指定に,B-treeインデクスまたはテキストインデクスを使用しない指定をした場合,テーブルスキャンが実行されます。
- 重要
-
テーブルスキャンが実行された場合は,表にレンジインデクスを定義することを推奨します。レンジインデクスが使用されることで性能が向上することがあります。レンジインデクスが使用される条件については,「5.3 SQL文の実行時に使用されるレンジインデクス」を参照してください。