Effectivement, la mise à jour d'une même table par des requêtes UPDATE en parallèle en SQL n'est pas optimisée. Il faut pour ce faire découper séquentiellement la table à grande volumétrie, le SELECT étant moins coûteux pour le SGBD. Ainsi si la table à parcourir est découpée en plusieurs "morceaux" de tailles plus petites, le parcours sera moins onéreux en ressources et donc plus rapide. Il en est de même pour un UPDATE avec une jointure sur une autre table, ce qui multiplie le parcours des lignes.