How would your answers to Exercise 10.7 change if attribute a is not a candidate key for R? How would they change if we assume that records in R are sorted on a?
Exercise 10.7
Consider a relation R(a, b, c, d) containing 1,000,000 records, where each page of the relation holds 10 records. R is organized as a heap file with dense secondary indexes, and the records in R are randomly ordered. Assume that attribute a is a candidate key for R, with values lying in the range 0 to 999,999. For each of the following queries, name the approach that would most likely require the fewest I/Os for processing the query. The approaches to consider follow:
? Scanning through the whole heap file for R.
? Using a B+ tree index on attribute R.a.
? Using a hash index on attribute R.a.
The queries are:
1. Find all R tuples.
2. Find all R tuples such that a
3. Find all R tuples such that a = 50.
4. Find all R tuples such that a > 50 and a