Zablokování znamená, že každé vlákno se pokouší aktualizovat více řádků v jedné transakci a že tyto aktualizace jsou prováděny v různém pořadí napříč vlákny. Nejjednodušší možnou odpovědí by proto bylo upravit kód tak, aby zprávy v rámci stejné transakce byly aplikovány v určitém definovaném pořadí (tj. v pořadí primárního klíče). To by zajistilo, že se nikdy nedostanete do uváznutí, i když byste stále dostávali blokovací zámky, zatímco jedno vlákno čeká, až jiné vlákno potvrdí svou transakci.
Když uděláme krok zpět, zdá se nepravděpodobné, že byste skutečně chtěli, aby mnoho vláken aktualizovalo stejný řádek v tabulce, když nemůžete předvídat pořadí aktualizací. Zdá se vysoce pravděpodobné, že by to vedlo ke spoustě ztracených aktualizací a poněkud nepředvídatelnému chování. Co přesně vaše aplikace dělá, že by takové věci byly rozumné? Děláte něco jako aktualizaci agregovaných tabulek po vložení řádků do tabulky podrobností (tj. aktualizaci počtu zobrazení příspěvku kromě protokolování informací o konkrétním zobrazení)? Pokud ano, musí být tyto operace skutečně synchronní? Nebo byste mohli počet zhlédnutí pravidelně aktualizovat v jiném vlákně agregováním zhlédnutí za posledních N sekund?