Repeated reads will put locks on all lines that were received. In situations where you work with cursors that receive large amounts of data, they can cause rivalry with other users, because they cannot get locks to update any of the lines read by cursors with a repeat of Reading until the cursor is closed.
The risk of performance degradation is that transactions may suffer an increased number of timeouts and / or deadlocks. This risk is proportional to the probability that two transactions read / update the same lines at the same time. Another factor that can affect your application is the size of the lock. If the locks are accepted at the page level, then a conflict may arise if these different transactions must access the lies on the same page - not necessarily the same line.
On the other hand, when you use a lower isolation level, cursor stability, for example, you leave open the possibility that the rows that you previously retrieved during a transaction may be updated by other transactions before your unit of work is completed.
Nealb source share