Java - proceso datos en clase o hago el where enla consulta?

   
Vista:

proceso datos en clase o hago el where enla consulta?

Publicado por Esteban (1 intervención) el 04/08/2016 21:23:54
Buenas tardes

estoy haciendo un Package con consultas a la base de datos y su respectiva invocación desde java, el tema es que me sugieren que mande el resultado del query a la clase sin restricciones y que lo filtre en java con un hashtable porque es más rápido. tengo mis dudas...

Pienso... si la tabla es grande y no la filtro voy a tener muchos datos que no van a servir para nada.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

proceso datos en clase o hago el where enla consulta?

Publicado por Marcelo (47 intervenciones) el 08/08/2016 04:10:27
Hola, como estas?

Creo que la recomendación viene de la mano de como esta la tabla en cuestión.

Si tu búsqueda se basa estrictamente a campos que forman parte de la primary key, unique key o de un índice, la recomendación seria filtrar desde la base y dar los datos filtrados. El problema viene cuando tenes una tabla muy grande y tu filtros no conforman parte de lo mencionado antes (no tiene ningún tipo de optimizacion) ese tipo se consultas pueden dolerle muchísimo a la base de datos pero si logras cargar ese volumen de datos en memoria la recorrida y filtrado es muy rápido.

Por lo que, la recomendación seria analizar la tabla de origen y saber si los campos a filtrar están optimizados.... de no estarlos se tendría que hacer una prueba de que tan rápido responde la base con un where.

Una última opción podría ser un híbrido de las anteriores donde traigas los datos filtrados por las columnas optimizadas y termines el filtro en memoria para el resto.

Espero haber dado un poco de luz al tema.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar