Indexes: Reverse Key Indexes

Description: Creating a reverse key index, compared to a standard index, reverses the bytes of each column indexed (except the rowid) while keeping the column order. Such an arrangement can help avoid performance degradation with Oracle9i Real Application Clusters where modifications to the index are concentrated on a small set of leaf blocks. By reversing the keys of the index, the insertions become distributed across all leaf keys in the index.

CREATE INDEX <index_name>
ON <table_name> (<column_name>)
PCTFREE <integer>
TABLESPACE <tablespace_name>
REVERSE;
 
-- for w3mentor:
 
CREATE INDEX rk_idx_sales_region
ON sales_table(sales_region)
PCTFREE 0
TABLESPACE sales_us
REVERSE;
 
SELECT index_name, index_type
FROM user_indexes;
 
 
-- The REVERSE keyword provides a simple mechanism for creating
-- a reverse key index. You can specify the keyword REVERSE
-- along with the optional index specifications in a CREATE INDEX
-- statement:
 
CREATE INDEX test_indexi ON test_table (a,b,c) REVERSE;
 
-- You can specify the keyword NOREVERSE to REBUILD a reverse-key
-- index into one that is not reverse keyed:
 
ALTER INDEX test_index REBUILD NOREVERSE;

Enjoyed this post? Share it!

 

Leave a comment

Your email address will not be published.