Oracle8i Index-Organized Table and Its Application to New Domains
Jagannathan Srinivasan, Souripriya Das, Chuck Freiwald, Eugene Inseok Chong, Mahesh Jagannath, Aravind Yalamanchi, Ramkumar Krishnan, Anh-Tuan Tran, Samuel DeFazio, Jayanta K. Banerjee · Very Large Data Bases · 2000
Primary B-tree, a variant of B-tree structure with row data in leaf blocks, is an ideal storage organization for queries involving exact match and/or range search on primary keys. Commercially, primary B-tree like structures have been supported in DBMSs like Compaq Non-Stop SQL, Sybase Adaptive Server, and Microsoft SQL Server. Oracle’s index-organized table is like a primary B-tree; however, it differs from its commercial counterparts in the following respects: 1) The storage organization does not require the entire row to be stored in the primary key index. Infrequently accessed columns can be selectively pushed into an overflow storage area to speed up access to columns that are frequently accessed. 2) Secondary indexes on index-organized tables support logical primary key-based row identifiers, and still provide performance comparable to secondary indexes with physical row identifiers by storing and making use of guess-DBA (Database Block Address). 3) Support for primary key compression leads to reduced storage requirements. This paper presents the index-organized table storage option in Oracle8i with emphasis on the novel aspects mentioned above. The applicability of index-organized tables to new domains such as the Internet, E-Commerce and Data Warehousing is discussed. A performance study is presented, that validates the clustering benefits of Oracle’s primary B-tree implementation, and characterizes the impact of overflow storage area, guess-DBA use in secondary B-tree indexes, and primary key compression.