在对update操作进行性能优化过程中,修改原来普通的修改语句,采用多表连合修改的方式,诸如:
update (select /*+ BYPASS_UJVC */ name , rname
from table1 t1, table2 t2
where t1.id = t2.id
and t1.id is not null)
set name = rname
的写法,性能确实有所提高,但现在出现一个问题是,我发现/*+ BYPASS_UJVC */在9.2.0.8.0版本上无效,仍然要求table2必段对字段id建唯一性索引,才可以。
也许大家说建个索引就得了,但问题是,有些处理中table2可能是一段SQL语句,用group by 来确保了数据唯一性的,但由于数据库对/*+ BYPASS_UJVC */的无效,所以不能执行,现在看来唯一的办法就是对oracle数据库升级,也不知道这倒底是不是oracle的BUG,因为我们发现在比此版本低或者高的版本上都是可以的。
不知道有人知道是怎么回事,是否oracle有这方面的补丁?
update (select /*+ BYPASS_UJVC */ name , rname
from table1 t1, table2 t2
where t1.id = t2.id
and t1.id is not null)
set name = rname
的写法,性能确实有所提高,但现在出现一个问题是,我发现/*+ BYPASS_UJVC */在9.2.0.8.0版本上无效,仍然要求table2必段对字段id建唯一性索引,才可以。
也许大家说建个索引就得了,但问题是,有些处理中table2可能是一段SQL语句,用group by 来确保了数据唯一性的,但由于数据库对/*+ BYPASS_UJVC */的无效,所以不能执行,现在看来唯一的办法就是对oracle数据库升级,也不知道这倒底是不是oracle的BUG,因为我们发现在比此版本低或者高的版本上都是可以的。
不知道有人知道是怎么回事,是否oracle有这方面的补丁?
解决方案 »
- oracle与操作系统的兼容的问题
- 要是对50G的blob做oracle全文检索,怎么初始话?
- 请问像这样返回一个固定行数的语句要怎么写?
- 新手求助Oracle基础问题!跪求高人帮忙在线等
- 怎以查看当前库的表空间总量是多少,用了多少,还剩多少?
- 大大们帮帮忙????
- 请教,如何实现在oracle中实时的从另一个数据库的一张表中取得新增数据,不胜感激
- 修改,插入BLOB字段ORACLE是否有专门的SQL啊?有没有哪位大侠知道,指点一下额
- 安装好oracle以后,老提示我没有监听器,求救
- 怎样让一个用户能够访问另外一个用户的数据?
- 推荐几本有关 linux+oracle 集群 图书
- 关于ORACLE索引的一个效率测试
from table1 t1, table2 t2
where t1.id = t2.id
and t1.id is not null)
set name = rname