我从webservice调用中获取了数千个数据。 (它将是id和版本号,对象列表)
我需要检查数据库中是否存在id的记录。如果它和版本号不匹配,我需要更新表 或者插入新记录。
您认为最佳解决方案
从数据库中获取记录并对其进行缓存。从列表中删除匹配的记录。准备一份需要更新的列表 其他需要插入然后调出程序以相应地插入和更新 (一旦我准备好列表,它可能是相对较少的记录)
遍历我从webservice收到的每条记录,并将id和版本传递给执行插入/更新的过程 根据需要 (使用连接池但是对于每条记录,我将调用该过程)
您认为哪种方法更好?或者您认为比这两种更好的解决方案
对使用的技术的限制: Spring Jdbc 2.x,Java 1.7,Sybase数据库
没有可用的ORM技术。
我可以使用jdbcTemplate.batchUpdate()来调用过程
答案 0 :(得分:0)
第一个选项优于选项2。
与应用程序服务器和数据库服务器之间的网络延迟相比,没有任何操 Thumb规则较小,性能更好。
不确定,与sysbase相关,但即使你可以在每个SP调用中处理5-10条记录,这甚至会比每次处理单条记录更好。