Oracle 索引的常用操作

索引的常用操作
 
-- 创建主键索引
alter table table_name add constraint pk_name primary key(table_id);
-- 创建普通索引
create index index_name on table_name (table_colounm_name);
-- 删除全局主键索引
alter table table_name DROP constraint index_name ;
-- 索引重建
alter index ipk_name REBUILD ;
-- 删除索引
DROP INDEX index_name;
-- 创建复合索引
CREATE INDEX Index_name ON table_name(colunm_1,colunm_2);
-- 重建索引
alter index index_name rebuild;
-- 重建分区索引
alter index index_name rebuild partition partition_name;
--  在线增加分区索引 `online`,不影响其他DML操作,否则可能会阻塞DML
alter table table_name add (constraint ipx_name primary key(ID,insert_tm) using index local) online;
-- 创建分区索引
create index index_name on table_name (table_colounm_name) local;

  

删除自动生成的主键索引
 
 
declare
v_cursor integer;
v_sql varchar2(500);
BEGIN
FOR RX IN (select index_name from user_indexes WHERE table_name = 'table_name') LOOP
v_cursor:=dbms_sql.open_cursor;
v_sql:='alter table table_name drop constraint ' || RX.INDEX_NAME;
dbms_sql.parse(v_cursor, v_sql, dbms_sql.v7);
dbms_sql.close_cursor(v_cursor);
END LOOP;
end;
/

  

原文地址:https://www.cnblogs.com/fubinhnust/p/9928863.html