En T-SQL un cursor puede ser declarada de dos maneras (que yo sepa):ventajas sobre el uso variable de cursor en SQL Server (declaran cursor @cn)
declare CursorName cursor for ...
declare @CursorName cursor
Estaba realizando algunas pruebas y noté que la creación de una variable de cursor no agregará una entrada al resultado de sp_cursor_list
.
¿Hay alguna ventaja/desventaja en el uso del segundo enfoque desde el punto de vista del rendimiento, la utilización de los recursos, etc.?
PS: Soy consciente de posibles problemas de rendimiento del cursor. No estoy pidiendo una comparación en cursores basado en conjunto. O cursor vs while
con la variable temp/table.
Si el rendimiento es una consideración, probablemente no debería estar utilizando los cursores :) – JNK
Si publica código o XML, ** por favor ** resalte esas líneas en el editor de texto y haga clic en el botón "código" (101 010) en la barra de herramientas del editor para formatear y resaltar la sintaxis. –
Si ** debes ** usar un cursor, siempre trataré de usar 'DECLARE cursor_name CURSOR FAST_FORWARD' si alguna vez puedo. Pero su mejor optimización de rendimiento sería evitar los cursores si es posible. –