Indexing is similar to what we used day to day life while
reading book. Our hand book has a index which help us to find the desired data
in less amount of time. We use to search the string in the Index which specify
us to go to page where if reside.
Same is the case with Indexing in Oracle. In Oracle data are
stored in Table. When the data grows in huge quantity it becomes difficult for searching
the data. For this purpose Oracle use the same Indexing concept.
There are two type of Indexing
1-
Cluster:- In cluster indexing data are arranged
physically in the same fashion as it is indexed. Best example is primary key
index. By doing Cluster index all the rows are sorted and arranged physically
on Hard disk as per the sequence given by cluster index.
2-
Non-Cluster:- In non-cluster environment oracle
maintain a list with values that store the pointer to the index values. Having said
this we can have more than one non-cluster index for a single table. More over this
non-cluster index is logical in nature means not stored physical on hard disk.
Now the concern is which one to us. Use this thum rule
-
If we want to perform select operation more go
for Cluster index.
-
If we want to perform update, Insert etc
operation go for Non-Cluster Index.