Cursores ¿Si o No?

18/09/2004 - 04:58 por Ody Barrera | Informe spam
Hola lister@s:

Tengo una inquietud y espero que puedan ayudarme, pues
estoy realizando un trabajo en la que tengo jerarquía en
algunas de mis tablas y para poder ller los datos tengo
que hacer recursividades, es por eso que una solución a
este problema es utilizar CURSORES.

En una ocasión asistí a una charla de Optimización en
Transact-SQL y recomendaban no utilizar los famosos
CURSORES.

Buscando información en internet encontre algunos
algoritmos para simular un CURSOR, bueno yo utilizo uno
de estos.

Pero mi inquietud o duda que tengo es saber cual de los
dos métodos es el más óptimo. Un CURSOR me imagino ocupa
espacio en memoria de mi servidor mientras realiza el
proceso, y al simular un cursor tengo que realizar varias
veces sentencias SELECT, para recuperar los indices de
las filas que necesito, así como los valores a procesar.

Bueno espero que me hayan entendido y que me den algunas
sugerencias.

Reciban un cordial saludo.

Ody Barrera
Bach. Ing. Sistemas (Perú)

Preguntas similare

Leer las respuestas

#1 Javier Loria
18/09/2004 - 18:07 | Informe spam
Hola:
En manejo de jerarquias hay una buena cantidad de material,
particularmente importantes, las publicaciones de Joe Celko. Tiene un libro
sobre esto, y varios articulos que puedes buscar en internet.
Si quieres postear aqui el problema, una simplificacion del mismo o
partes, hay algunos colaboradores de este foro que tienen mucha experiencia
en esta area.
En cuanto al desempeno, el problema de los cursores es que funcionan de
forma secuencial linea, por linea, si simulas un cursor con ciclos linea por
linea no debe existir ninguna mejora y es probable que empeore. A pesar de
esto si puedes construir una algoritmo que por lo menos por partes funciones
por bloques, es muy probable que mejore el desempeno.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Ody Barrera" wrote in message
news:102501c49d2b$6ea13630$
Hola :

Tengo una inquietud y espero que puedan ayudarme, pues
estoy realizando un trabajo en la que tengo jerarquía en
algunas de mis tablas y para poder ller los datos tengo
que hacer recursividades, es por eso que una solución a
este problema es utilizar CURSORES.

En una ocasión asistí a una charla de Optimización en
Transact-SQL y recomendaban no utilizar los famosos
CURSORES.

Buscando información en internet encontre algunos
algoritmos para simular un CURSOR, bueno yo utilizo uno
de estos.

Pero mi inquietud o duda que tengo es saber cual de los
dos métodos es el más óptimo. Un CURSOR me imagino ocupa
espacio en memoria de mi servidor mientras realiza el
proceso, y al simular un cursor tengo que realizar varias
veces sentencias SELECT, para recuperar los indices de
las filas que necesito, así como los valores a procesar.

Bueno espero que me hayan entendido y que me den algunas
sugerencias.

Reciban un cordial saludo.

Ody Barrera
Bach. Ing. Sistemas (Perú)
Respuesta Responder a este mensaje
#2 Maximiliano D. A.
18/09/2004 - 18:29 | Informe spam
Hola, los motores de BDD estan pensados para trabajar con conjuntos de
Registros y no Registro a Registro (cursor), por lo cual al implementar uno
haras que la aplicacion sea muy lenta y genere mucho bloqueos innecesarios.

En toda mi experiencia, no he utilizado cursores para resolver ninguna Query
;-), porque no nos cuentas que necesitas hacer (y si nos das las tablas
mucho mejor) y vemos de como ayudarte.

Un abrazo

"Ody Barrera" escribió en el mensaje
news:102501c49d2b$6ea13630$
Hola :

Tengo una inquietud y espero que puedan ayudarme, pues
estoy realizando un trabajo en la que tengo jerarquía en
algunas de mis tablas y para poder ller los datos tengo
que hacer recursividades, es por eso que una solución a
este problema es utilizar CURSORES.

En una ocasión asistí a una charla de Optimización en
Transact-SQL y recomendaban no utilizar los famosos
CURSORES.

Buscando información en internet encontre algunos
algoritmos para simular un CURSOR, bueno yo utilizo uno
de estos.

Pero mi inquietud o duda que tengo es saber cual de los
dos métodos es el más óptimo. Un CURSOR me imagino ocupa
espacio en memoria de mi servidor mientras realiza el
proceso, y al simular un cursor tengo que realizar varias
veces sentencias SELECT, para recuperar los indices de
las filas que necesito, así como los valores a procesar.

Bueno espero que me hayan entendido y que me den algunas
sugerencias.

Reciban un cordial saludo.

Ody Barrera
Bach. Ing. Sistemas (Perú)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida