UPDATE, чтобы параллельно не было заблокированных SELECT FOR UPDATE?
не эксперт в mysql, но сам с этим регулярно сталкиваюсь и вроде как решения нет, чтобы нормально блокировать транзакцию. да и FOR UPDATE не работает нифига. сам использую блокировку потоков на уровне скрипта. и во время блокировки делаю типа SELECT ... WHERE status=1 затем сразу UPDATE ... SET status=0 WHERE id=id ну либо вместо статуса таймстамп пишу текущий и ORDER BY по нему делаю. каждый дрочит, как он хочет, как говорится.
да я тоже так же предлагал на собеседовании, но посоветовали skip locked
Странно потому как SKIP LOCKED — это действие, которое выполняет подсистема хранения при обнаружении заблокированной строки . Действие состоит в том, чтобы пропустить строку, а вместо нее в набор результатов войдет следующая.
почитал, крутая штука, спасибо
Обсуждают сегодня