java传list到Oracle存储过程执行慢

存储过程功能是循环对list遍历,对表进行插入操作,插入异常则进行修改操作。

可能为update语句执行慢,可是表里有主键,update时主键为条件,走主键应该不会慢。

单独把update语句拿出执行,不慢。

最终找出原因,list中对象用的为nvarchar而表里主键为varchar2,执行语句时Oracle会进行隐式转换,转换会导致索引无效,会导致update语句执行慢。

解决方法将手动进行转换把list遍历出来的值to_char。存储过程速度恢复秒级。

猜你喜欢

转载自www.cnblogs.com/wangxingya/p/10131088.html