准备语句 、可调用语句和性能注意事项
2022-09-04 22:00:13
我有一个需要从我的Java程序调用的。我曾经将参数传递给存储的proc。我正在使用oracle精简驱动程序(在Web逻辑服务器中针对相关的jndi条目进行配置)。此存储的进程没有任何 OUT 值。此存储的 proc 接受一个数值,并根据收到的值在数据库中执行大量更新。oracle stored proc
CallableStatement
我得到一个连接对象,然后在循环中调用这个存储的proc(传递20个数字20次)。当我从oracle客户端直接调用这个存储的proc时,执行在2-3秒内完成。但是,从我的java代码中无法预测行为。有些呼叫甚至需要30-40秒才能完成。
我试图使用而不是,并且可以看到边际性能改进(尽管行为仍然不一致)。PreparedStatement
CallableStatement
- 在我的情况下,是否可以使用而不是给定存储过程没有任何OUT参数?
PreparedStatement
CallableStatement
- 是否有任何原因导致性能有所提高,或者我可能观察到错误?
PreparedStatement
CallableStatement
- 有没有更好的方法来解决此性能问题?