Oracle在线新增索引
Posted 不想下火车的人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle在线新增索引相关的知识,希望对你有一定的参考价值。
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在线新增索引的主要内容,如果未能解决你的问题,请参考以下文章