Cursores

26/01/2006 - 18:30 por Juan Carlos Nieves | Informe spam

Hola buenas tardes a todos, perdón por mi ignorancia pero alguien me puede decir por que no son buenos los cursores, y de ser posible por que otras opciones se pueden reemplazar

Yo estoy utilizando un par en mi base de datos




<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD>
<BODY style="MARGIN: 4px 4px 1px; FONT: 10pt Tahoma">
<DIV>Hola buenas tardes a todos, perdón por mi ignorancia pero alguien me puede decir por que no son buenos los cursores, y de ser posible por que otras opciones se pueden reemplazar</DIV>
<DIV>&nbsp;</DIV>
<DIV>Yo estoy utilizando un par en mi base de datos</DIV></BODY></HTML>


 

Leer las respuestas

#1 Alejandro Mesa
26/01/2006 - 19:26 | Informe spam
Juan Carlos Nieves,

Primeramente porque SQL Server es un sistema manejador de bases de datos
relacionales. Este tipo de bases de datos se apoya en la teoria de conjuntos
y la maquina de SQL Server esta pensada y optimizada en esa linea, en
soluciones de conjuntos. Cuando se usan cursores, es porque queremos o
debemos aplicar una solucion procedural o tratamiento de fila en fila.

Segundo, los cursores consumen recursos (en dependencia de que tipo de
cursor se use) y ayudan a que la contencion de la base de datos actual y
tambien de la db tempdb aunmente. Puedes chequear el topico "declare cursor"
en los BOL para mas info sobre como funcionan los cursores.

Entre las opciones para evitar cursores tenemos las tablas derivadas,
variables tipo tabla, tablas temporales, funciones definidas de usario que
devuelven una tabla, lazos con criterios basados en seleciones de conjunto,
etc.

Queda decir que hay soluciones que requieren el uso de cursores, pero deja
los cursores como ultima herramienta en tu caja.


AMB

"Juan Carlos Nieves" wrote:

Hola buenas tardes a todos, perdón por mi ignorancia pero alguien me puede decir por que no son buenos los cursores, y de ser posible por que otras opciones se pueden reemplazar

Yo estoy utilizando un par en mi base de datos

Preguntas similares