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>


Preguntas similare

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

Respuesta Responder a este mensaje
#2 Carlos Sacristán
01/02/2006 - 09:41 | Informe spam
Los cursores no son buenos porque el gestor de la base de datos está
optimizado para trabajar con conjuntos de registros, mientras que los
cursores son para justo lo contrario: manejar cada registro individualmente.
Eso supone para el servidor mantener una cantidad de recursos bastante
grandes para poderse recorrer el cursor y que los datos sean válidos.

La gran mayoría de las operaciones que se pueden hacer con un cursor se
pueden hacer sin ellos de una forma mucho más eficiente. Expón tus casos y
seguramente te podremos ayudar para quitar esos cursores


Un saludo

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

"Antonio Ortiz" escribió en el mensaje
news:

Ademas del consumir el ancho de banda de la red, pues normalmento implica
mover cierta cantidad de datos desde el servidor hacia la aplicacion
cliente.

saludos,

Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com


"Juan Carlos Nieves" escribió en el mensaje
news:
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
Respuesta Responder a este mensaje
#3 Antonio Ortiz
01/02/2006 - 16:51 | Informe spam
Claro, y todas las operaciones sin cursores se realizan en el mismo
servidor, mientras que los cursores trasladan el conjunto de datos al
cliente.


Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Los cursores no son buenos porque el gestor de la base de datos está
optimizado para trabajar con conjuntos de registros, mientras que los
cursores son para justo lo contrario: manejar cada registro
individualmente.
Eso supone para el servidor mantener una cantidad de recursos bastante
grandes para poderse recorrer el cursor y que los datos sean válidos.

La gran mayoría de las operaciones que se pueden hacer con un cursor se
pueden hacer sin ellos de una forma mucho más eficiente. Expón tus casos y
seguramente te podremos ayudar para quitar esos cursores


Un saludo

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

"Antonio Ortiz" escribió en el mensaje
news:

Ademas del consumir el ancho de banda de la red, pues normalmento implica
mover cierta cantidad de datos desde el servidor hacia la aplicacion
cliente.

saludos,

Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com


"Juan Carlos Nieves" escribió en el mensaje
news:
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


Respuesta Responder a este mensaje
#4 Maxi
01/02/2006 - 18:41 | Informe spam
Hola, ojo con lo que dices, los cursores de SQL no transladan nada al
cliente, trabajan sobre el motor!! vos te estas confundiendo con los
cursores del lado del cliente como podrian ser los Recorset o Datareader


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Antonio Ortiz" escribió en el mensaje
news:
Claro, y todas las operaciones sin cursores se realizan en el mismo
servidor, mientras que los cursores trasladan el conjunto de datos al
cliente.


Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Los cursores no son buenos porque el gestor de la base de datos está
optimizado para trabajar con conjuntos de registros, mientras que los
cursores son para justo lo contrario: manejar cada registro
individualmente.
Eso supone para el servidor mantener una cantidad de recursos bastante
grandes para poderse recorrer el cursor y que los datos sean válidos.

La gran mayoría de las operaciones que se pueden hacer con un cursor
se
pueden hacer sin ellos de una forma mucho más eficiente. Expón tus casos
y
seguramente te podremos ayudar para quitar esos cursores


Un saludo

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

"Antonio Ortiz" escribió en el mensaje
news:

Ademas del consumir el ancho de banda de la red, pues normalmento implica
mover cierta cantidad de datos desde el servidor hacia la aplicacion
cliente.

saludos,

Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com


"Juan Carlos Nieves" escribió en el mensaje
news:
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






Respuesta Responder a este mensaje
#5 Antonio Ortiz
02/02/2006 - 04:18 | Informe spam
A esos me refiero exactamente, que son los mas utilizados por la gente con
poca experiencia en SQL Server, incluyendome (cada vez menos).

saludos,

Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com


"Maxi" escribió en el mensaje
news:
Hola, ojo con lo que dices, los cursores de SQL no transladan nada al
cliente, trabajan sobre el motor!! vos te estas confundiendo con los
cursores del lado del cliente como podrian ser los Recorset o Datareader


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Antonio Ortiz" escribió en el mensaje
news:
Claro, y todas las operaciones sin cursores se realizan en el mismo
servidor, mientras que los cursores trasladan el conjunto de datos al
cliente.


Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Los cursores no son buenos porque el gestor de la base de datos está
optimizado para trabajar con conjuntos de registros, mientras que los
cursores son para justo lo contrario: manejar cada registro
individualmente.
Eso supone para el servidor mantener una cantidad de recursos bastante
grandes para poderse recorrer el cursor y que los datos sean válidos.

La gran mayoría de las operaciones que se pueden hacer con un cursor
se
pueden hacer sin ellos de una forma mucho más eficiente. Expón tus casos
y
seguramente te podremos ayudar para quitar esos cursores


Un saludo

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

"Antonio Ortiz" escribió en el mensaje
news:

Ademas del consumir el ancho de banda de la red, pues normalmento
implica
mover cierta cantidad de datos desde el servidor hacia la aplicacion
cliente.

saludos,

Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com


"Juan Carlos Nieves" escribió en el mensaje
news:
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










email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida