Cursores.ventajas-desventajas

27/08/2003 - 08:17 por mani14 | Informe spam
He leído un poco sobre este tema, y todo lo que veo son
comentarios negativos hacia los cursores. Estoy hablando
con respecto a la eficiencia del programa que los utilice.
Me gustaria que opinaseis sobre este tema. Yo acabo de
hacer una cosilla (con cursores), y ahora estoy intentando
quitarselos. La cuestion es: Todo lo que se puede hacer
con cursores se puede hacer sin ellos? todo? Me gustaria
que expresaseis lo que pensais sobre este tema (es que me
parece muy interesante), y si alguien se anima, puede
incluso poner algun ejemplo de como solucionó un problema
que inicialmente habia hecho con cursores y luego lo
soluciono sin ellos.
Yo por mi parte en cuanto solucione mi tema, lo pondré en
este post. Muchas gracias.
Saludos a todos.
Félix Vela
 

Leer las respuestas

#1 Carlos Sacristan
27/08/2003 - 09:02 | Informe spam
Efectivamente, prácticamente todo lo que se puede hacer con cursores se
podría hacer sin ellos. Al principio es fácil caer en la tentación de
utilizarlos porque parece que facilitan la vida al poder tratar los
registros de un conjunto de resultados de forma individual; sin embargo,
justamente esta "ventaja" es su problema. Hay que tener en cuenta que SQL
Server está pensado para manejar conjunto de resultados, y si le obligas a
tratar dicho conjunto de forma individual el rendimiento cae en picado:
muchos recursos utilizados durante mucho más tiempo del necesario para poder
mantener esos datos.

TSQL es un lenguaje muy potente y según se va conociéndole más cuenta
te das de ello. Algo que parece imposible realizar con una única sentencia,
después de una buena pensada (y si se tiene suficiente experiencia) es
posible. No hay más que seguir durante un tiempo las respuestas que alguno
de los asiduos participantes de este grupo publican.

Yo, personalmente, hace tiempo que los ignoro. No los contemplo como una
opción cuando tengo que realizar una consulta complicada (así evito
"tentaciones"). Es mucho más gratificante ver cómo es posible obtener los
resultados que necesitas a través de una sentencia que por medio de un
cursor, por eso no te puedo poner ningún ejemplo de lo que comentas.



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro

(Guía de netiquette del foro)
http://www.helpdna.net/bosqlfaq00.htm
http://perso.wanadoo.es/rubenvigon/foro

(FAQ's de SQL Server)
http://support.microsoft.com/defaul.../70faq.asp
http://www.helpdna.net/bosqlfaq.htm

"mani14" escribió en el mensaje
news:066f01c36c62$f4e85ed0$
He leído un poco sobre este tema, y todo lo que veo son
comentarios negativos hacia los cursores. Estoy hablando
con respecto a la eficiencia del programa que los utilice.
Me gustaria que opinaseis sobre este tema. Yo acabo de
hacer una cosilla (con cursores), y ahora estoy intentando
quitarselos. La cuestion es: Todo lo que se puede hacer
con cursores se puede hacer sin ellos? todo? Me gustaria
que expresaseis lo que pensais sobre este tema (es que me
parece muy interesante), y si alguien se anima, puede
incluso poner algun ejemplo de como solucionó un problema
que inicialmente habia hecho con cursores y luego lo
soluciono sin ellos.
Yo por mi parte en cuanto solucione mi tema, lo pondré en
este post. Muchas gracias.
Saludos a todos.
Félix Vela

Preguntas similares