Jokes aside, OP forgot to make pk column a PRIMARY KEY
DECLARE @MyData TABLE(pk INT IDENTITY(1,1) PRIMARY KEY, id INT)
>Are you sure??? I think he meant not to start with @index = 10000.
>Cetin
>
>>My results are totally different
>>
>>Execution Time of WHILE Loop (ms)
>>0
>>
>>Execution Time of CURSOR (ms)
>>516
>>
>>
>>I prefer to use WHILE loop (if I have to) because it's more flexible and faster
>>
>>>
>>>Recently I learned about CURSOR and I found most experts advise not to use it due to performance issue. However, I found using CURSOR is much faster than using a WHILE for looping. Thus, I would like to seek for some valuable advices.
>>>
>>>Basically I would like to loop each record in my record sets and perform some actions based on the selected field from each row.
>>>
>>>In order to simplify my scenario, I have created a sample here for comparison.
>>>
>>>1. Create a table variable with 10k records.
>>>
>><snip>>
>>>
>>>And finally I got this result
>>>
>>>Execution Time of WHILE Loop (ms)
>>>11063
>>>Execution Time of CURSOR (ms)
>>>296
>>>
>>>
>>>Kindly advise, thanks.
--sb--