|
|
CREATE INDEX
Create an index.
Syntax:
CREATE [UNIQUE|BITMAP] INDEX [schema.]index ON [schema.]TABLE [tbl_alias] (col [ASC | DESC]) index_clause index_attribs CREATE [UNIQUE|BITMAP] INDEX [schema.]index ON [schema.]TABLE [tbl_alias] (col_expression [ASC | DESC]) index_clause index_attribs CREATE [UNIQUE|BITMAP] INDEX [schema.]index ON CLUSTER [schema.]cluster index_attribs
index_clauses:
INDEXTYPE IS indextype[PARAMETERS ('string')] LOCAL STORE IN {tablespace_name|DEFAULT} LOCAL (PARTITION [partition [LOGGING|NOLOGGING] [TABLESPACE {tablespace_name|DEFAULT}] [PCTFREE int] [PCTUSED int] [INITRANS int] [MAXTRANS int] [STORAGE storage_clause] [STORE IN {tablespace_name|DEFAULT] [SUBPARTITION [subpartition [TABLESPACE tablespace_name]]]]) GLOBAL PARTITION BY RANGE (col_list) ( PARTITION partition VALUES LESS THAN (value_list) [LOGGING|NOLOGGING] [TABLESPACE {tablespace_name|DEFAULT}] [PCTFREE int] [PCTUSED int] [INITRANS int] [MAXTRANS int] [STORAGE storage_clause] )
index_attribs:
any combination of the following
NOSORT|REVERSE COMPRESS int NOCOMPRESS COMPUTE STATISTICS [NO]LOGGING ONLINE TABLESPACE {tablespace_name|DEFAULT} PCTFREE int PCTUSED int INITRANS int MAXTRANS int STORAGE storage_clause PARALLEL parallel_clause
If the PARALLEL clause is used it should be the last option.
For example:
To create a function-based index which allows case-insensitive searches.
CREATE INDEX idx_case_ins ON my_table(UPPER(empname)); SELECT * FROM my_table WHERE UPPER(empname) = 'KARL';
Related Commands:
INDEX - ALTER INDEX
INDEX - DROP INDEX
INDEXTYPE - CREATE INDEXTYPE
Related Views:
DBA_INDEXES ALL_INDEXES USER_INDEXES INDEX_HISTOGRAM INDEX_STATS DBA_INDEXTYPES ALL_INDEXTYPES USER_INDEXTYPES DBA_INDEXTYPE_OPERATORS ALL_INDEXTYPE_OPERATORS USER_INDEXTYPE_OPERATORS DBA_IND_COLUMNS ALL_IND_COLUMNS USER_IND_COLUMNS DBA_IND_EXPRESSIONS ALL_IND_EXPRESSIONS USER_IND_EXPRESSIONS DBA_IND_PARTITIONS ALL_IND_PARTITIONS USER_IND_PARTITIONS DBA_IND_SUBPARTITIONS ALL_IND_SUBPARTITIONS USER_IND_SUBPARTITIONS