アクセス方法についてお勉強
必要なデータをどうやって抽出するかその方法
1.フルテーブルスキャン
テーブルにあるすべての行を読み込む。
現存するすべてのデータではなく、HWM(High Water Mark)まで読み込んでしまうことに注意。
件数が多いほど時間がかかる。テーブルの大部分のデータが必要な場合には仕方がないけど。
2.ROWIDアクセス
最速なアクセス方法。
テーブルのROWIDにはデータ・ブロック番号と該当ブロックのオフセット番号が格納されており、
ROWIDを指定することで、直接データ抽出が可能。
ただし、テーブルやデータ操作の度に変わってしまうので、再アクセス時など用途は限定される。
3.インデックススキャン(索引スキャン)
ROWIDとキーを格納したインデックスをあらかじめ用意しておき、
(1) インデックスから対象レコードのROWIDを取得
(2) ROWIDを使用してデータ抽出
とする。
テーブルからある程度以上のデータを抽出する場合にはフルテーブルスキャンの方が効率がいい。
4.インデックスフルスキャン(全索引スキャン)
インデックスに必要なデータが揃っている場合、実際のテーブルにアクセスする必要がなくなる。
このような場合、インデックスフルスキャンとなる。