Java - mejorar fluidez al realizar una consulta

   
Vista:

mejorar fluidez al realizar una consulta

Publicado por Duban dubanachagua97@gmail.com (2 intervenciones) el 27/10/2017 00:01:19
Buen Dia,

tengo 2 preguntas.

la primera es si hay alguna forma de ver todos los datos que contiene un resultset ala hora de realizar una consulta en una base de datos

y la segunda, me encuentro realizando una consulta a una base de datos por medio de java donde tengo 1 millon de registros los cuales tengo insertarlos en otra base de datos diferente pero al realizar la insercion de la siguente forma

WHILE(rs.next())
{
(aqui obtengo lo que viene del resultset y lo inserto en la otra tabla de la otra base de datos)
}

se demora mucho y me gustaria saber si hay alguna otra forma de hacer esto sin que tome tanto tiempo

muchas gracias de antemano y saludos
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

mejorar fluidez al realizar una consulta

Publicado por Juan (108 intervenciones) el 27/10/2017 15:48:15
Buenas Duban

Te respondo a la segunda cuestión. Si resulta que tienes 1 millón de registros, lo mismo tienes que afinar el query SQL para que cargue lo antes posible. También depende como tengas de optimizada la BD.

Cuando programo en VFP me pasa a mí a veces lo mismo con tablas con centenares de miles de registros, entonces aquí lo que hago es tratar de que la consulta SQL sea lo más optimizada posible para que la carga de datos sea lo menos pesada posible.

Si ves que tal pon tu query a ver si se puede implementar mejor.

Un saludo y a ver si alguien puede ayudar algo más.
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

mejorar fluidez al realizar una consulta

Publicado por Yamil Bracho (2193 intervenciones) el 27/10/2017 16:04:38
Hola
Esas tareas es mejor realizarlas como un Stored Proc o como una tarea programada que se ejcute en determinado momento cuando haya poco trafico de usuarios, asi el RDBMS estaria dedicado solo a esa tarea.
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

mejorar fluidez al realizar una consulta

Publicado por Duban (2 intervenciones) el 27/10/2017 17:42:49
Buen Dia,

Gracias por el consejo pero lo que para es que las consultas se encuentran parametrizadas en una tabla de la cual las extraigo para realizar un reporte lo ideal es que este proceso sea automático que tome la consulta parametrizada y haga el proceso que mencione anterior mente para sacar un reporte.

las consultas fueron parametrizadas por otras personas osea pueden estar de muchas formas, si entro a modificarlas para optimizarlas me demorare mucho y si parametrizan mas tendria que estas optimizandolas y eso no es lo ideal.

estoy realizando pruebas con 3 tipos de consultas diferentes

una me trae 250 registros la cual al hacer el proceso que ya tengo se demora 30 segundos
la segunda tiene 500 mil registros y se demora aproximadamente 13 minutos
la tercera tiene 1 millón 500 mil registros yo esperaría que promediando con la segunda prueba se demore mas o menos 40 minutos pero hay un momento en el proceso que llega a 600 mil y no continua la deje a ver si seguía y pasaron aproximadamente 12 horas y no continuo piense que es puede ser el resultset pero me gustaría una opinión de alguien con mas experiencia

y si saben alguna forma de optimizar el código java en vez de la consulta

o si alguien sabe si la inserción de los datos se puede hacer de otro forma que no sea secuencial como lo hace el WHILE sino dividir la consulta en varias partes y hacer las inserciones en paralelo
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
Revisar política de publicidad