Oracle
Oracle
What is an Index?
An index is a performance-tuning method of allowing faster retrieval of records. n
indAex creates an entry for each value that appears in the indexed columns. By default,
Oracle creates B-tree indexes.
Create an Index
The syntax for creating a index is:
CREATE [UNIQUE] INDEX index_name
ON table_name (column1, column2, . column_n)
UNIQUE indicates that the combination of values in the indexed columns must be
unique.
For example:
CREATE INDEX supplier_idx
ON supplier (supplier_name);
In this example, we've created an index on the supplier table called supplier_idx. It
consists of only one field - the supplier_name field.
We could also create an index with more than one field as in the example below:
CREATE INDEX supplier_idx
ON supplier (supplier_name, city);
For example:
CREATE INDEX supplier_idx
ON supplier (UPPER(supplier_name));
In this example, we've created an index based on the uppercase evaluation of the
supplier_name field.
However, to be sure that the Oracle optimizer uses this index when executing your SQL
statements, be sure that UPPER(supplier_name) does not evaluate to a NULL value. To
ensure this, add UPPER(supplier_name) IS NOT NULL to your WHERE clause as
follows:
Rename an Index
The syntax for renaming an index is:
ALTER INDEX index_name
RENAME TO new_index_name;
For example:
ALTER INDEX supplier_idx
RENAME TO supplier_index_name;
In this example, we're renaming the index called supplier_idx to supplier_index_name.
Drop an Index
The syntax for dropping an index is:
DROP INDEX index_name;
For example:
DROP INDEX supplier_idx;
In this example, we're dropping an index called supplier_idx.