What is an index and types of indexes. How many number of
indexes can be used per table ?

Answer Posted / madhu

https://doc.lagout.org/programmation/Databases/Oracle/Expert%20Indexing%20in%20Oracle%20Database%2011g.pdf

Index Type Usage
B-tree Default, balanced tree index; good for high-cardinality (high degree of distinct
values) columns. Use a normal B-tree index unless you have a concrete reason
to use a different index type or feature.
Index organized table: Efficient when most of the column values are included in the primary key. You
access the index as if it were a table. The data is stored in a B-tree like
structure.
Unique : A form of B-tree index; used to enforce uniqueness in column values. Often
used with primary key and unique key constraints, but can be created
independently of constraints.
Reverse-key : A form of B-tree index; useful to balance I/O in an index that has many
sequential inserts.
Key-compressed : Good for concatenated indexes where the leading column is often repeated;
compresses leaf block entries. This feature applies to a B-tree or an IOT index.
Descending A form of B-tree index; used with indexes where corresponding column values
are sorted in a descending order (the default order is ascending). You can’t
specify descending for a reverse key index and Oracle ignores descending if
the index type is bitmap.
Bitmap: Excellent in data warehouse environments with low-cardinality columns and
SQL statements using many AND or OR operators in the WHERE clause. Bitmap
indexes aren’t appropriate for online transaction processing (OLTP) databases
where rows are frequently updated. You can’t create a unique bitmap index.
Bitmap join : Useful in data warehouse environments for queries that utilize Star schema
structures that join fact and dimension tables.
Function-based : Good for columns that have SQL functions applied to them. This can be used
with either a B-tree or bitmap index.
Indexed virtual column : An index defined on a virtual column (of a table); useful for columns that have
SQL functions applied to them; viable alternative to using a function-based
index.
Virtual Allows you to create an index with no physical segment or extents via the
NOSEGMENT clause of CREATE INDEX; useful in tuning SQL without consuming
resources required to build the physical index. Any index type can be created
as virtual.
Invisible : The index is not visible to the query optimizer. However, the structure of the
index is maintained as table data is modified. Useful for testing an index
before making it visible to the application. Any index type can be created as
invisible.
Global partitioned Global index : across all partitions in a partitioned table or regular table. This
can be a B-tree index type and can’t be a bitmap index type.
Local partitioned Local index based on individual partitions in a partitioned table. This can be
either a B-tree or bitmap index type.
Domain Specific for an application or cartridge.
B-tree cluster Used with clustered tables.
Hash cluster Used with hash cluste
rs.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Can we insert in view in sql?

568


what is a constraint? : Sql dba

714


What is package in pl sql with an examples?

549


Explain autonomous transaction.

636


how to increment dates by 1 in mysql? : Sql dba

541






What is nvarchar max in sql?

582


What is sqlexception in java?

551


How will you distinguish a global variable with a local variable in pl/sql?

626


What is pl sql block in dbms?

528


Which operator is used in query for pattern matching?

627


What is a schema sql?

529


Is it mandatory for the primary key to be given a value when a new record is inserted?

708


What is dense_rank in sql?

544


What are the usages of sql?

564


What are inbuilt functions in sql?

600