oracle select,update,delete(可以使用where子句) 语句都会走索引,但是当oracle自动进行类型转换之后就不再走索引了,解决办法是:自己手动进行类型转化如:to_char(),to_number(),to_date()...
例子:
t1_a.a 为number类型; t1_b.a为varchar类型
-- t1_b.a 不走索引
update t1_a set (b,c) = (select bb,cc from t1_b where a=t1_a.a);
--解决办法
update t1_a set (b,c) = (select bb,cc from t1_b where a=to_char(t1_a.a));
例子:
t1_a.a 为number类型; t1_b.a为varchar类型
-- t1_b.a 不走索引
update t1_a set (b,c) = (select bb,cc from t1_b where a=t1_a.a);
--解决办法
update t1_a set (b,c) = (select bb,cc from t1_b where a=to_char(t1_a.a));