Angenommen, eine ResultSet rs
mit n
Objekt zu haben.Ist while (rs.next()) schneller als eine Reihe von rs.solute()
Dieser Code:
while(rs.next()) {
// do something on rs
}
ist algoritmically gleich diesem Code (das heißt beide ergab das gleiche Ergebnis):
for(i=1; i<=n; i++) {
rs.absolute(i)
// do something on rs
}
Aber sind diese equivalant über die Bedingungen der throughouts? Ist der erste schneller? Oder, für eine gegebene i
, ist rs.next() nur ein Wrapper für rs.absolute(i+1)
?
Mit freundlichen Grüßen MC
Was hält Sie davon ab, es selbst zu testen? Wahrscheinlich ist der Unterschied vernachlässigbar, daher sollte der Code, der leichter zu lesen ist, verwendet werden. –
@ KlasLindbäck Das Schreiben eines korrekten Microbenchmarks ist überraschend [nontrivial] (http://stackoverflow.com/questions/504103/how-do-i-write-a-correct-micro-benchmark-in-java). –
Mit 'rs.next()' müssen Sie die Größe der Ergebnismenge nicht vorher wissen, mit 'rs.absolute()' müssen Sie. Was bedeutet eine zweite Abfrage im Voraus. – BalusC