当前位置:Gxlcms > mysql > 批量rebuild索引

批量rebuild索引

时间:2021-07-01 10:21:17 帮助过:30人阅读

自己写了一个批量rebuild索引的存储过程: create or replace procedure sp_rebuild_indexas v_count number; cursor empCur is select owner,index_name from dba_indexes where status='UNUSABLE'; v_sql varchar2(100); v_owner varchar2(20); v_index_na

自己写了一个批量rebuild索引的存储过程:

create or replace procedure sp_rebuild_index
as 
  v_count number;
  cursor empCur is select owner,index_name from dba_indexes where status='UNUSABLE';
  v_sql  varchar2(100);
  v_owner varchar2(20);
  v_index_name varchar2(50);
BEGIN
  select count(0) into v_count from dba_indexes where status='UNUSABLE';
  if v_count>0 then
  execute immediate 'alter session set skip_unusable_indexes=false';
  
  open empCur;
  
   loop
    fetch empCur into v_owner,v_index_name;
    v_sql:='alter index '||v_owner||'.'||v_index_name||' rebuild';
    execute immediate v_sql;
    exit when empCur%notfound; 
   end loop;
  
  close empCur;

  end if;
END;


人气教程排行