enero 04, 2011

¿Cuando usar Cursores?

Los cursores son buenos cuando estamos hablando de menos de 300 registros, las tablas temporales seria la mejor opción, pero si sabemos que la tabal temporal podria tener unos 1000 registros mejor utilecemos una variable de tipo table en lugar de la tabla temporal que se crea en el disco en la bd de Tempdb.

Los cursores reservan recursos en el servidor, como por ejemplo locks, packages,
procesos, almacenamiento temporal, etc. Por ejemplo, Microsoft SQL Server implementa los cursores creando una tabla temporal y rellenándola con los datos de la consulta.
Si un cursor no se cierra de manera correcta, el recurso no será liberado hasta que la sesión SQL (conexión) sea cerrada. Este desperdicio de recursos en el servidor puede llevar no sólo a una degradación del rendimiento, sino también a fallos más graves.

No hay comentarios.: