подскажите есть один вопрос.
Что лучше использовать, lockForUpdate или в транзакциях?
lockForUpdate работает только в транзакции, без транзакции будет игнор блокировки.
Также если в качестве базы данных используется mysql, то есть функция GET_LOCK() которую можно использовать для получения блокировки по ключу, работает без транзакций.
эм…нет. FOR UPDATE залочит строки, попадающие под условие
Только если вызов будет находится внутри транзакции, в прлтивном случае ничего не будет.
а ничего, что каждый запрос неявно заворачивается в транзакцию?)
Так как правильно будет? Begin LockForUpdate Commit?
Каждый, но она же тутже завершается и промсходит разблокировка, т.к. транзакция завершена.
почему он тут же завершается?)
Потому что ты явно не задал когда начать и когда закончить, см. выше.
Обсуждают сегодня