| |
 |
|
Index-organized table (IOT) vs. Cluster table
Don Burleson
|
I'm often asked "when should I use an IOT vs. a single-table
cluster?". Both IOT and cluster tables are used to reduce I/O
(consistent gets and physical reads) by making the SQL more
efficient. The SQL become more efficient on an IOT and a
cluster table because less access is required to gat all of the data
to satisfy the request. Another approach is
Oracle Row Re-sequencing,
to perform this manually.
Also see:
Super App to use Oracle IOT's
There are fundamental differences in the table internal structure
of an index-organized table (IOT) and a single-table cluster table,
and you need ti understand how your table is being accessed:
- IOT - Index-organized tables - These structures
remove the primary key from the table and keep them solely in
the index, saving disk space. Primarily used with
high-updates tables, IOT structures reduce table fragmentation.
Dr. Tim Hall, author of the book "Oracle
Job Scheduling" has a
great discussion of IOT benefits:
- Accessing data via the primary key is quicker as the key
and the data reside in the same structure. There is no need
to read an index then read the table data in a separate
structure.
- Lack of duplication of the key columns in an index and
table mean the total storage requirements are reduced.
- Single table clusters - A single-table index cluster table is
a method whereby Oracle guarantees row sequence where clustering_factor in
dba_indexes always approximates blocks in dba_tables.
Hashing is used to enforce key-order, and can greatly reduce I/O
if your SQL commonly does multi-block index range scans.
See
this link for more information on Oracle cluster tables.
However, single table clusters require maintenance when the
overflow area is used.
Alternatives to IOT's
Oracle offers several other alternatives to index organized
tables:
-
Click here
to view a talking video example of the benefits of row
re-sequencing in Oracle:
- Learn how
Oracle
hash clustering can re-sequence table rows for faster SQL
execution.
- Leverage
Oracle Sorted Hash Clusters, a great automatic method for
enforcing physical row sequence at the data block level.
|
|
Need an Oracle Health Check?
- Do you have
bad performance after an upgrade?
- Need to
certify that your database follows best practices?
BC Oracle performance gurus can quickly
certify every aspect of your
Oracle database and provide a complete verification that your database
is fully optimized. |

|
|