Which two are the fastest methods for fetching a single row from a table based on an equality
predicate?
A.
Fast full index scan on an index created for a column with unique key
B.
Index unique scan on an created for a column with unique key
C.
Row fetch from a single table hash cluster
D.
Index range scan on an index created from a column with primary key
E.
Row fetch from a table using rowid
Explanation:
A scan is slower than a row fetch (from hash value or rowid).
Are You kidding me?! How can fetching from a cluster be faster than Index Unique scan?!
B and E are correct.
C and E
I think B,E
C, E
All we agree with the answer E – row fetch from a table using rowid is fast and usually is the last operation with indexes – first operaton: to find the key value in the index. This is also the reason why other answers (A, B, D) are false.
But why C? This is solution:
“To find or store a row in an indexed table or cluster, a minimum of two (there are usually more) I/Os must be performed:
* One or more I/Os to find or store the key value in the index
* Another I/O to read or write the row in the table or cluster
In contrast, the database uses a hash function to locate a row in a hash cluster; no I/O is required. As a result, a minimum of one I/O operation is necessary to read or write a row in a hash cluster.”
Source: https://docs.oracle.com/cd/B19306_01/server.102/b14231/hash.htm#i1006523