天天看點

怎麼樣快速重建或移動索引

怎麼樣快速重整索引

  通過rebuild語句,可以快速重整或移動索引到别的表空間

  文法為

  alter index index_name rebuild tablespace ts_name

  storage(......);

  如果要快速重建整個使用者下的索引,可以用如下腳本,當然,需要根據你自己的情況做相應修改

  SQL> set heading off

  SQL> set feedback off

  SQL> spool d:\index.sql

  SQL> SELECT 'alter index ' || index_name || ' rebuild '

  ||'tablespace INDEXES storage(initial 256K next 256K pctincrease 0);'

  FROM all_indexes

  WHERE ( tablespace_name != 'INDEXES'

  OR next_extent != ( 256 * 1024 )

  )

  AND owner = USER

  SQL>spool off

  另外一個合并索引的語句是

  alter index index_name coalesce

  這個語句僅僅是合并索引中同一級的leaf block,消耗不大,對于有些索引中存在大量空間浪費的情況下,有一些作用。