Structure of a virtually hashed table

A virtually hashed table contains two regions—the “hashed” region and the “overflow” region. The hashed region stores the hashed rows, and the overflow region stores the remaining rows. You can access the overflow region with a regular clustered index scan using a B-tree clustered index.

Figure 11-1: Accessing the overflow region with a root page

This graphic shows the overflow from a root page stored in the hash region, and any overflow going back to the first overflow page of the overflow region.

The first data page, the root page, and the first overflow page of a virtually hashed table are created when you create the table. SYSINDEXES.indroot is the root page for the overflow clustered region. The first leaf page under this page is the first overflow page. SYSINDEXES.indfirst points to the first data page, so a table scan starts at the beginning of the table and scans the entire table.