Comparison of Heap-Organized Tables with Index-Organized Tables
Heap-Organized Table | Index-Organized Table |
The rowid uniquely identifies a row. Primary key constraint may optionally be defined. | Primary key uniquely identifies a row. Primary key constraint must be defined. |
Physical rowid in ROWID pseudocolumn allows building secondary indexes. | Logical rowid in ROWID pseudocolumn allows building secondary indexes. |
Individual rows may be accessed directly by rowid. | Access to individual rows may be achieved indirectly by primary key. |
Sequential full table scan returns all rows in some order. | A full index scan or fast full index scan returns all rows in some order. |
Can be stored in a table cluster with other tables. | Cannot be stored in a table cluster. |
Can contain a column of the LONG data type and columns of LOB data types. | Can contain LOB columns but not LONG columns. |
Can contain virtual columns (only relational heap tables are supported). | Cannot contain virtual columns. |
(1)A heap-organized table does not store rows in any particular order. The CREATE TABLE statement creates a heap-organized table by default.
(2)An index-organized table orders rows according to the primary key values. For some applications, index-organized tables enhance performance and use disk space more efficiently. See"Overview of Index-Organized Tables".