Oracle在線新增索引
阿新 • • 發佈:2018-10-17
區別 是我 執行 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在線新增索引