Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Optimizacion sql + java

Estas en el tema de Optimizacion sql + java en el foro de Java en Foros del Web. Hola compañeros! Estoy haciendo una modificación a una aplicación en el trabajo, y lamentablemente la base de la aplicación era horrenda. He intentado optimizarlo de ...
  #1 (permalink)  
Antiguo 14/07/2015, 13:41
 
Fecha de Ingreso: agosto-2013
Mensajes: 103
Antigüedad: 10 años, 8 meses
Puntos: 1
Optimizacion sql + java

Hola compañeros!

Estoy haciendo una modificación a una aplicación en el trabajo, y lamentablemente la base de la aplicación era horrenda. He intentado optimizarlo de distintas maneras y lo he conseguido, pero claro, ahora viene mi pesadilla:

- Cuando inicio la aplicación (es una aplicación web) resulta que ejecuta una query y el resultado que obtiene de ella, la mete en una arraylist, que posteriormente se usa para diversas cosas, entre otras para mostrarse en una tabla.

Claro, la aplicación tarda 1 minuto y medio en meter tan solo 350 registros. Y mi duda es, cómo podría optimizar esto.
El sistema cuando me lo dieron ya estaba montado así de raíz, por lo que cambiarlo a algo como realizar una consulta de 7 elementos, meterlos al arraylist y luego a la tabla e ir haciendo eso cada vez que pasara de página (en mi tabla) no es del todo viable cuando necesito toda la información que me llega de ese arraylist para no tener mucho follon.

En definitiva, necesito conservar este sistema pero intentar optimizarlo. La query es realmente sencilla "select * from tabla" así que no tiene mucho más...

He pensado que quizá en lugar de un select * podría hacer el select de los campos que realmente necesito pero creo que solo me libro de uno por utilizar, así que realmente no sé yo cómo de viable será.

Un saludo y gracias por leerme. Espero que a alguien se le ocurra alguna forma :)
  #2 (permalink)  
Antiguo 14/07/2015, 15:16
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Optimizacion sql + java

¿1'5m por 350 registros? Me da la impresión de que algo está mal, y no es la base de datos.

Lo primero es que hagas esa select directamente sobre la base de datos, a ver si tarda mucho. Si estás buscando en una tabla enorme, puede ser que tarde aunque sólo quieras 350 registros, en ese caso deberías poner índices para mejorar la búsqueda. Lo de * o los campos no debería afectar.

Si la consulta no tarda, entonces pon logs de forma que puedas ver exactamente dónde estás teniendo el cuello de botella.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 23/11/2015, 16:59
 
Fecha de Ingreso: agosto-2013
Mensajes: 103
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: Optimizacion sql + java

Disculpa que no te contestara en su momento. Efectivamente había un cuello de botella y como la aplicación estuvo mal hecha desde el comienzo no se pudo arreglar (a pesar de llegar a optimizarla bastante y que se abriera en 30 segundos). Así que me hicieron hacerla de otra manera y funciona correctamente :) .
Como becario que soy te lo agradezco. En ese momento tenía poco apoyo y me vinieron muy bien para posteriori.

Un saludo y dejo el tema ya cerrado

Etiquetas: arraylist, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:20.