The usual way to
write the update method is as shown below:
UPDATE
test
SET col=0
WHERE
col<0
The issue with this
query is that it will take a lot of time as it affects 2 million rows and also
locks the table during the update.
You can improve the
performance of an update operation by updating the table in smaller groups.
Consider the following code:
SET rowcount 10000
UPDATE test
SET col=0
WHERE
col<0
WHILE @@rowcount>0
BEGIN
SET rowcount 10000
UPDATE test
SET col=0
WHERE
col<0
END
SET rowcount 0
The above code
updates 10000 rows at a time and the loop continues till @@rowcount has a value
greater than zero. This ensures that the table is not locked.