¿Alguien sabe una mejor manera de obtener el número de filas en un conjunto de resultados de Java devuelto desde una base de datos MySQL? El conjunto de resultados devuelto no va a ser el número total de filas leídas de la base de datos, así que no creo que pueda usar la función de agregado COUNT
de SQL.Obtener el recuento de filas en un conjunto de resultados de Java
public static int getResultSetRowCount(ResultSet resultSet) {
int size = 0;
try {
resultSet.last();
size = resultSet.getRow();
resultSet.beforeFirst();
}
catch(Exception ex) {
return 0;
}
return size;
}
Calling resultSet.last() hará que el conjunto de resultados a iterar realidad sobre todos los registros - por lo que es claramente ineficiente. Además, forzará que todos los datos se guarden en caché en la memoria, incluso si aún no los necesita. ¿Alguna razón por la que dijiste "el conjunto de resultados devuelto no va a ser el número total de filas leídas de la base de datos"? – RonK
@RonK: ¿Por qué crees que se repetirá? No pude encontrar nada como esto en los documentos. –
@Ronk: los datos leídos de la tabla de la base de datos serán un subconjunto de los datos de la tabla solamente en lugar de todos los datos en la tabla. Tengo curiosidad acerca de la 'repetición de todo'. –