SELECT ... FOR UPDATE
zablokuje rekord blokadą zapisu (wyłączną) do czasu zakończenia transakcji (zatwierdzonej lub wycofanej).
Aby wybrać rekord i upewnić się, że nie zostanie zmodyfikowany, dopóki go nie zaktualizujesz, możesz rozpocząć transakcję, wybierz rekord za pomocą SELECT ... FOR UPDATE
, wykonaj szybkie przetwarzanie, zaktualizuj rekord, a następnie zatwierdź (lub wycofaj) transakcję.
Jeśli używasz SELECT ... FOR UPDATE
poza transakcją (automatyczne zatwierdzanie włączone), blokada zostanie natychmiast zwolniona, więc pamiętaj, aby użyć transakcji, aby zachować blokadę.
Aby zapewnić wydajność, nie trzymaj transakcji otwartych przez bardzo długi czas, więc aktualizacja powinna zostać wykonana natychmiast.