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;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2012-04-15 16:10  A_zhu  阅读(433)  评论(1编辑  收藏  举报