BAD*_*EED 8 java benchmarking jdbc
假设有一个ResultSet rswith n对象.
这段代码:
while(rs.next()) {
// do something on rs
}
Run Code Online (Sandbox Code Playgroud)
在算法上等于这个代码(即两者给出相同的结果):
for(i=1; i<=n; i++) {
rs.absolute(i)
// do something on rs
}
Run Code Online (Sandbox Code Playgroud)
但这是否等同于整个过程?第一个更快吗?或者,对于给定的i,rs.next()只是一个包装器rs.absolute(i+1)?
最好的问候MC
rs.next需要一种更简单的数据库游标(FORWARD_ONLY),rs.absolute因此在大多数情况下,您将降低性能/资源效率rs.absolute.在某些情况下,FORWARD_ONLY无论如何都没有对游标进行优化,您可能会获得相同的性能.
有些驱动程序absolute甚至可以允许调用FORWARD_ONLY,验证请求的记录是下一个,但是其他人可能会抛出异常,无论如何.