Programar recursividad

07/10/2006 - 03:16 por Jose Camacho Vaca | Informe spam
Un favor, a ver si me pueden ayudar un poco en este problema. Tenemos una
aplicación contable hecha en visual foxpro trabajando sobre SQL2000, por el
momento trabaja bien, pero tenemos algunos problemas de velocidad debido a
que el sistema hace algunas actualizaciones en base a una función recursiva.
La función lo que hace es lo siguiente:

actualiza los saldos de una cuenta en base al cargo o al abono que se le
mande y si la cuenta pertenece a otra (es decir es hija de una cuenta padre)
actualiza los saldos de su cuenta padre en base al cargo o al abono que se le
haya hecho a la cuenta hija y si esta a su vez es cuenta hija de otra pues
hace exactamente lo mismo. La recursividad termina cuando se encuentra una
cuenta que no tiene cuenta padre.

el problema que estoy viendo es que con el crecimiento de la información y
de las cuentas es muy probable que el rendimiento baje y lo que quisiera
hacer es pasar ese proceso de actualización recursiva hacia un store
procedure en el servidor SQL.

Bueno, creo que eso es todo, cualquier sugerencia se los agradecería mucho.

Reciban un cordial saludo.

José Camacho Vaca
Colima, mx.
 

Leer las respuestas

#1 Maxi
07/10/2006 - 13:29 | Informe spam
Hola, el tema de recursividad en sql2000 no es tan sencillo como en 2005
pero de todas maneras algo de rendimiento mas se le puede sacar. Habria que
analizar bien tu caso y ver las tablas, los indices, las consultas como para
ver como optimizarla


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"Jose Camacho Vaca" wrote in
message news:
Un favor, a ver si me pueden ayudar un poco en este problema. Tenemos una
aplicación contable hecha en visual foxpro trabajando sobre SQL2000, por
el
momento trabaja bien, pero tenemos algunos problemas de velocidad debido a
que el sistema hace algunas actualizaciones en base a una función
recursiva.
La función lo que hace es lo siguiente:

actualiza los saldos de una cuenta en base al cargo o al abono que se le
mande y si la cuenta pertenece a otra (es decir es hija de una cuenta
padre)
actualiza los saldos de su cuenta padre en base al cargo o al abono que se
le
haya hecho a la cuenta hija y si esta a su vez es cuenta hija de otra pues
hace exactamente lo mismo. La recursividad termina cuando se encuentra
una
cuenta que no tiene cuenta padre.

el problema que estoy viendo es que con el crecimiento de la información y
de las cuentas es muy probable que el rendimiento baje y lo que quisiera
hacer es pasar ese proceso de actualización recursiva hacia un store
procedure en el servidor SQL.

Bueno, creo que eso es todo, cualquier sugerencia se los agradecería
mucho.

Reciban un cordial saludo.

José Camacho Vaca
Colima, mx.

Preguntas similares