What types of indexes does Falcon support?
Falcon uses a form of B-tree indexing with a two-stage retrieval. The entries in the B-tree are prefix-compressed and have trailing blanks and zeros truncated. Two-stage retrieval provides some of the benefits of clustered indexes without the drawbacks that come from the use of such structures. Traditional database index implementations traverse indexes by bouncing between index pages and database pages, which can oftentimes lead to inefficient or costly disk access. Clustered indexes (or index-organized tables) are structured so that the physical ordering of records corresponds to the index order, with the actual leaf pages being the data pages. While some applications benefit from this organization, the physical implementation of clustered indexes can lead to space management problems, such as page splitting. Furthermore, a table can be clustered on only one index, reducing the efficiency of secondary indexes. In Falcon, the index is scanned first, with bits being set in a sparse bit