所以我知道一些相对差异,即ResultSet
与数据库有一个“开放连接”,而一个RowSet
以“断开连接”方式工作。
但这几乎是我所理解的(可能不正确):
那么我的问题是——在什么情况下一种比另一种更可取?他们各自的优势/劣势是什么?
从我的感觉来看
RowSet
,在断开连接模式下工作,特别是对于“只读”查询,在高度并发的系统中会有更好的性能。那是对的吗?如果是这种情况,是否可以肯定地说 对于只读查询RowSet
总是更可取 ?ResultSet
如果我正确地迭代
RowSet
不会抛出 SQL 异常,但这是一个好处吗?另一个是RowSet
可序列化的。但我关心的主要是从性能的角度来看,选择是什么?但它甚至对读写查询有影响吗?您可以将 ResultSet 同步回数据库吗?(我不确定这是否可能(它可能是,我只是无法很好地回忆或谷歌搜索它:) 原始 JDBC 已经有一段时间了......
有任何想法吗?很明显,我的知识中有一些缺失的空白:)
我问的原因是我想在处理一些数据时在实现 Spring-JDBC 的ResultSetExtractor
接口和返回之间进行选择。SqlRowSet
这个问题只是让我好奇如何决定何时选择什么,而不是扔硬币:)