Oracle创建索引

创建索引一般分为在线索引和非在线索引,在线与非在线的区别:非在线锁表,优先创建索引,此时DML都被阻塞,所以快;相反,在线锁的是行而非表,通过临时表进行索引的创建,所以不会影响DML操作,但副作用就是慢。
如果在生产环境操作,不停服务的话,势必导致创建索引期间仍有DML操作进来。另外如果是大表,那么采用非在线而导致锁表所带来的影响可能会很大。一句话,生产环境不停服的脚本操作,建议使用online。
1、创建索引。

create index IX_CELL_SC_BOX_CONTAINER_C1 on CELL_SC_BOX_CONTAINER (CREATE_TIME, CARRIER_ID, LOAD_ID, LOAD_STATUS, FACILITY_RRN)
  tablespace TBS_MY_INDEX
  pctfree 10
  initrans 2
  maxtrans 255;

2、创建在线索引。

create index indx_user_info on user_info(user_id, user_name) online tablespace TBS_MY_INDEX ;

3、删除索引。

DROP INDEX 索引名;

4、查看某个表的索引,表名需大写。

SELECT * FROM ALL_INDEXES WHERE TABLE_NAME = '表名'

5、查看某个表哪些列有索引。

SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_NAME = '表名'

如果在where 子句中有OR 操作符或单独引用复合索引列的后面列则将不会走索引,将会进行全表扫描。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值