oracle:索引操作,index
创建索引
CREATE [UNIQUE] INDEX index_name ON table_name (column_name [,column_name…]) TABLESPACE tab_space;
UNIQUE 指定索引列中的值必须唯一的
最好为表和索引创建不同的表空间。
创建基于函数的索引
如果 select 语句的是 shere column_name= UPPER('xxx') ;
这样不会调用索引,可以创建函数索引
CREATE INDEX index_name ON table_name(UPPER(column_name));
利用基于函数的索引,DBA 必须初始化参数 QUERY_REWRITE_ENABLED 设置为TRUE ,默认为 false
用system 用户登录
ALTER SYSTEM SET QUERY_REWRITE_ENABLED= TRUE;
获得相关索引的信息
SELECT * FROM user_indexes WHERE table_name='xxx';
访问all_indexes 可以获得有关所有可以访问的索引的信息。
获取列索引的信息
SELECT * FROM user_ind_columns WHERE table_name ='xx';
修改索引
修改索引名
ALTER INDEX index_name RENAME TO index_new_name;
删除索引
DROP INDEX index_name;