1. 程式人生 > >Oracle在線新增索引

Oracle在線新增索引

區別 是我 執行 index table 腳本 _id lin tables

  Oracle新增索引語法很簡單,如果是普通索引的話:

create Index IDX_T_WLF on T_WLF(ACTIVITYID,ACTIVETIME) tablespace TBS_VCODE_IDX;

  如果是唯一索引的話:

create unique Index IDX_T_WLF on T_WLF(ACTIVITYID,ACTIVETIME) tablespace TBS_VCODE_IDX;

  以上方式默認是非在線的,啥是非在線?就是我們優先執行索引創建,其他DML語句執行不了。在線模式就是允許DML語句同時執行:

create unique Index IDX_T_WLF on T_WLF(ACTIVITYID,ACTIVETIME) online tablespace TBS_VCODE_IDX;

  在線與非在線的區別:非在線鎖表,優先創建索引,此時DML都被阻塞,所以快;相反,在線鎖的是行而非表,通過臨時表進行索引的創建,所以不會影響DML操作,但副作用就是慢。

  如果在生產環境操作,不停服務的話,勢必導致創建索引期間仍有DML操作進來。另外如果是大表,那麽采用非在線而導致鎖表所帶來的影響可能會很大。一句話,生產環境不停服的腳本操作,建議使用online。

Oracle在線新增索引