Ten eerste, op minimaal je zou een SELECT ... FOR UPDATE moeten doen dus je vergrendelt de rijen tegen andere SELECT ... FOR [SHARE|UPDATE] toegang. U moet dit binnen een transactie doen en die transactie vasthouden totdat u de laatste rij bijwerkt en commit .
De rijen die u SELECT ... FOR UPDATE niet vergrendeld tegen normaal SELECT; ze zijn nog steeds leesbaar voor andere transacties die geen gebruik maken van FOR UPDATE of FOR SHARE .
Beter nog, probeer het hele ding te herformuleren als een UPDATE ... FROM of een andere set-gebaseerde bewerking waarbij u al het werk in één query doet. Het zal over het algemeen veel beter presteren dan een SELECT ... FOR UPDATE gevolgd door een stroom van UPDATE v.