Optimización de Codigo

07/06/2006 - 00:34 por Rodolfo Menéndez | Informe spam
Hola amigos!

Aca esta mi pregunta.

He estado revisando el codigo de un software hecho en VB6 que lee
informacion de una base de SQL, hay un reporte en el software que se tarda
casi 25 minutos en generarse y la maquina se quedan paralizada.. .pues
estuve viendo el codigo y vi lo siguiente.

El reporte trata de el detalle de unas guias.. es master-detalle, el punto
es que al master se le manda cierto filtro, ya que el reporte se hace
semanal y mensual
digamos que se hacen unas 100 guias diarias, y cada una con al menos 1
detalle, algunas hasta 20.

Bueno, aca viene lo de SQL, en la DB no hay vistas creadas.. tons la persona
abre la base con una conexion con rs.open "query" (en la base master)
y luego abre el detalle rs.open "query" (en el detalle) luego saca la info,
cierra el detalle rs.close, y pasa al siguiente registro del master, saca la
key, y otra vez
abre el detalle rs.open "query"(mandando la nueva key), saca la info.. y
vuelve a cerrar..

si el reporte se hace por mes.. imaginen, la verdad que manera ta espantosa
de hacerlo.

yo he trabajado con views, pero tengo una pregunta, hago la view, la
relaciono con otra, y cuando me mueva en la view master, el detalle ya sale
actualizado,
como para no ir abriendo y cerrando la conexion, ya que el hizo eso, porque
el reporte se genera en texto plano, para imprimir en matricial a una mayor
velocidad.

Bueno, espero haberme explicado bien.

De antemano muchas gracias.

Rodolfo Menéndez
 

Leer las respuestas

#1 Maxi
07/06/2006 - 01:48 | Informe spam
Hola, esto no se soluciona con una View ni mucho menos. Yo que vos armo un
Store Procedure que genere la informacion y solo lo llamas una vez desde la
aplacion.
Tambien revisa el tema indices


Salu2

Maxi [Microsoft MVP SQL Server]
Culminis Speaker
www.sqlgurus.org

"Rodolfo Men?ndez" wrote in message
news:
Hola amigos!

Aca esta mi pregunta.

He estado revisando el codigo de un software hecho en VB6 que lee
informacion de una base de SQL, hay un reporte en el software que se tarda
casi 25 minutos en generarse y la maquina se quedan paralizada.. .pues
estuve viendo el codigo y vi lo siguiente.

El reporte trata de el detalle de unas guias.. es master-detalle, el punto
es que al master se le manda cierto filtro, ya que el reporte se hace
semanal y mensual
digamos que se hacen unas 100 guias diarias, y cada una con al menos 1
detalle, algunas hasta 20.

Bueno, aca viene lo de SQL, en la DB no hay vistas creadas.. tons la
persona abre la base con una conexion con rs.open "query" (en la base
master)
y luego abre el detalle rs.open "query" (en el detalle) luego saca la
info, cierra el detalle rs.close, y pasa al siguiente registro del master,
saca la key, y otra vez
abre el detalle rs.open "query"(mandando la nueva key), saca la info.. y
vuelve a cerrar..

si el reporte se hace por mes.. imaginen, la verdad que manera ta
espantosa de hacerlo.

yo he trabajado con views, pero tengo una pregunta, hago la view, la
relaciono con otra, y cuando me mueva en la view master, el detalle ya
sale actualizado,
como para no ir abriendo y cerrando la conexion, ya que el hizo eso,
porque el reporte se genera en texto plano, para imprimir en matricial a
una mayor velocidad.

Bueno, espero haberme explicado bien.

De antemano muchas gracias.

Rodolfo Menéndez

Preguntas similares