Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Agrupando resultado de sp (https://www.clubdelphi.com/foros/showthread.php?t=70411)

BetoAlonso 19-10-2010 16:57:58

Agrupando resultado de sp
 
Saludos

Tengo un sp que demora 14 segundos en devolver los resultados hasta ahi es un tiempo aceptable por la cantidad de procesos que hace.

El resultado son facturas pendientes las cuales estan ordenadas cronologicamente, mi problema existe cuando vuelvo a ejecutar el sp grupandolo por nombre de cliente, esto para saber si existen clientes que deben mas de 1 factura ( cosa que ocurre por obra y gracia de los vendedores )

el mismo sp es invocado desde 2 ibdataset y es al momento de hacer esto que demora.

Existe alguna manera de agrupar el resultado del sp sin volver a invocarlo.

Trabajo con delphi 7 y Base de datos firebird 2.0

muchas gracias por su atencion :confused:

Neftali [Germán.Estévez] 19-10-2010 17:54:13

¿No puedes utilizar una tabla temporal como salida?
De esa forma ya tendías los datos y no deberías volver a lanzarlo, sino trabajar sobre la tabla.

Kipow 19-10-2010 20:50:20

Como te comenta Neftali esa es una posible solucion, es mas esa es la que utilizo yo en reportes que tienen una gran carga de procesamiento.

marcoszorrilla 19-10-2010 21:23:12

Yo también utilzo tablas temporales para estos procesos incluso en algunos casos utilizo tres tablas con estos pases se va reduciendo el volumen de datos hasta dejarlo agrupado como interesa y a mi juicio se gana en velocidad y se ahorra en complicaciones de elaborar la sentencia SQL correspondiente.

Un Saludo.

Casimiro Notevi 19-10-2010 21:57:08

Cita:

Empezado por Neftali (Mensaje 379746)
¿No puedes utilizar una tabla temporal como salida?
De esa forma ya tendías los datos y no deberías volver a lanzarlo, sino trabajar sobre la tabla.

Cita:

Empezado por marcoszorrilla (Mensaje 379781)
Yo también utilzo tablas temporales para estos procesos incluso en algunos casos utilizo tres tablas con estos pases se va reduciendo el volumen de datos hasta dejarlo agrupado como interesa y a mi juicio se gana en velocidad y se ahorra en complicaciones de elaborar la sentencia SQL correspondiente.
Un Saludo.

¿Esas tablas temporales de las que habláis son creadas en la base de datos o son tablas en memoria?, yo acostumbro a usar tablas en memoria cuando no son un número enorme de datos.

BetoAlonso 19-10-2010 23:37:30

Supongo que se refieren a crear una tabla con la misma estructura del resultado del sp, e ir haciendo insert por cada registro que va a ser visualizado.

Neftali [Germán.Estévez] 20-10-2010 11:16:45

Cita:

Empezado por Casimiro Notevi (Mensaje 379792)
¿Esas tablas temporales de las que habláis son creadas en la base de datos o son tablas en memoria?, yo acostumbro a usar tablas en memoria cuando no son un número enorme de datos.

Ambas, dependiendo del procesamiento que se haga luego.
En este caso, cuando es desde un SP en Base de Datos.

Cita:

Empezado por BetoAlonso (Mensaje 379796)
Supongo que se refieren a crear una tabla con la misma estructura del resultado del sp, e ir haciendo insert por cada registro que va a ser visualizado.

A eso mismo.

marcoszorrilla 20-10-2010 21:53:51

Yo generalmente las creo y elimino en la misma base de datos.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 06:50:37.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi