Supponiamo di avere un ResultSet rs
con l'oggetto n
.È mentre (rs.next()) più veloce di una serie di rs.absolute()
Questo codice:
while(rs.next()) {
// do something on rs
}
è algoritmically uguale a questo codice (cioè sia dato lo stesso risultato):
for(i=1; i<=n; i++) {
rs.absolute(i)
// do something on rs
}
Ma sia esso equivalant sui termini di throughouts? È il primo più veloce? Oppure, per un dato i
, rs.next() è solo un wrapper per rs.absolute(i+1)
?
migliori saluti MC
Cosa ti impedisce di testarlo da solo? Molto probabilmente, la differenza è irrilevante, quindi è necessario utilizzare il codice più facile da leggere. –
@ KlasLindbäck Scrivere un microbenchmark corretto è sorprendentemente [non banale] (http://stackoverflow.com/questions/504103/how-do-i-write-a-correct-micro-benchmark-in-java). –
Con 'rs.next()' non è necessario conoscere prima la dimensione del set di risultati, con 'rs.absolute()' è necessario. Il che significa in anticipo una seconda query. – BalusC