本文主要是介绍oracle怎么创建反向索引,解决enq:TX - index contention,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有时候发生激烈的索引竞争的话,例如有大量的等待事件:enq:TX - index contention,此时可能需要创建反向索引解决,那么如何创建呢?下面是创建反向索引的实验过程:
– 创建两张相同结构的表,内部结构及数据均引用scott用户下的emp表
实验:
SQL> create table test01 as select * from emp;Table created.
SQL> create table test02 as select * from emp;Table created.
SQL> select count(*) from test01;COUNT(*)
----------14
SQL> select count(*) from test02;COUNT(*)
----------14
–针对表TEST01的empno列,添加B-tree索引
SQL> create index idx_no on TEST01(EMPNO);
Index created.
–针对表TEST02的empno列,添加反向索引
SQL> create index idx_rev_no on TEST02(EMPNO) reverse;
Index created.
–验证上面的索引,NORMAL/REV表明为反向索引
SQL> select TABLE_NAME,INDEX_NAME,INDEX_TYPE from user_indexes where table_name in('TEST01','TEST02');TABLE_NAME INDEX_NAME INDEX_TYPE
------------------------------ ------------------------------ ---------------------------
TEST01 IDX_NO NORMAL
TEST02 IDX_REV_NO NORMAL/REV
可以看到 IDX_REV_NO 的索引类型是 NORMAL/REV ,说明就已经是反向索引了。
这篇关于oracle怎么创建反向索引,解决enq:TX - index contention的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!