by Tim... » Thu Aug 02, 2012 6:43 am
Hi.
The index is made up of blocks. Those blocks can be stored anywhere on the disk, not necessarily next to each other and not necessarily in order.
When Oracle reads the blocks in from disk it has two choices.
1) Read the blocks in any order. Basically, the first block it sees on disk it reads, regardless of where in the index it is. It will eventually read the whole index, but in whatever order it comes. This is like a multi-block read of a table, but it is on the index. This is a fast full index scan.
2) Alternatively, it can traverse the index, starting at the root node and working through the index tree in order. This means it is reading one block at a time like a random I/O on a table. The order is precise, but that affects the time it takes to retrieve the data, since each read is a single operation, looking for a specific block. This is a full index scan.
Cheers
Tim...