1. **State the problem:** We want to find how many index blocks are read during a binary search on a dense, sorted index for a table with 800,000,000 rows.
2. **Given data:**
- Number of rows $N = 800,000,000$
- Index block size = 8 kilobytes = $8 \times 1000 = 8000$ bytes
- Index entry size = 100 bytes
3. **Calculate the number of index entries per block:**
$$\text{entries per block} = \frac{\text{block size}}{\text{entry size}} = \frac{8000}{100} = 80$$
4. **Calculate the total number of index blocks:**
$$\text{total blocks} = \frac{N}{\text{entries per block}} = \frac{800,000,000}{80} = 10,000,000$$
5. **Binary search reads:**
Binary search on $M$ blocks requires approximately $\log_2(M)$ block reads.
6. **Calculate the number of block reads:**
$$\log_2(10,000,000) = \log_2(10^7) = 7 \times \log_2(10) \approx 7 \times 3.3219 = 23.253$$
7. **Final answer:** Approximately 23 blocks are read during the binary search.
**Answer:** $\boxed{23}$ blocks
Binary Search Blocks 46Da80
Step-by-step solutions with LaTeX - clean, fast, and student-friendly.