私は、インデックスアクセスの方法について読んで、オラクルにとって非常に新しいです。私は結論に達する必要があります、私はテーブルempを持っていると仮定します。インデックスアクセスの概念
table emp
---------------------------
empno ename salary mgrid
---------------------------
1 ab 200 2
2 bn 900 3
3 bh 900 1
4 ah 890 4
5 kk 67 0
6 ac 9090
、これが主キーEMPNOに一意索引が
index table(suppose)
--------------------
rowid index value
---------------------
xyzz 1
- 2
- 3
- 4
- 5
- 6
作成される方法である ' - ' 私は
クエリを記述するとし、いくつかの進値を意味し、
select * from emp where empno ='5'
それはEMP表から
をROWIDは、インデックス値5に対応して取り出して、行が5 EMPNOに対応して取得します今、私の疑問は、ここではそれがINDEX_TABLEからフェッチされていることですが、それをのROWID見つけることはありますまた、全体のテーブル(index_table)まで5をスキャンし、同じusses rowidを見つけるために、それはどのようにインデックスのないテーブルと異なるのですか?、そこに私たちは5 empnoまでテーブル全体をスキャンしています。
インデックスのみが昇順に格納されます。
は私が間違っている知っている、誰かが説明することができ、この
**Doubt**
は、全表スキャンをい条件をフィルタリングかかわらず、それを一人ひとり行列をスキャン? 上記のempにプライマリ・キーがない場合は、全テーブル・スキャンを行い、empno = 5の場合は、各行empno値をスキャンするかempnameをスキャンします。給料とmrgidも?
すばらしい説明のためにレネに感謝しますが、上記の質問に記載されているもう1つの疑問をクリアすることができます、私は最近更新しました –