我在Java中有一个生产者线程,每n毫秒从Oracle表中拉项目。 当前的实现依赖于一个Java时间戳来检索数据,而不再重新检索它们。在同一个PL/SQL查询中选择并更新
我的目标是摆脱时间戳模式,并直接更新我从数据库中提取的相同项目。
有没有办法选择一组项目,并同时更新它们以标记为“正在处理”?
如果不是,那么依赖IN子句的独立UPDATE查询会是一个主要的性能问题吗? 我尝试过使用临时表来达到这个目的,但是我看到性能受到严重影响。
不知道它是否有帮助,但应用程序正在使用iBatis。
由于oracle 10g有更新语句的RETURNING子句,但我相信它们可以用于多行一行 – 2011-12-24 22:45:53