-- Задание 1 SELECT * FROM mnoskov.users WHERE id = 1; -- Если две одновременные сессии выполнят этот запрос, то в обеих все выведется, и ошибок или очереди не бкдет -- Потому что этот запрос только на чтение -- Задание 2 -- Первая сессия будет просто ждать окончания выполнения первой -- Если разрешить обоимUPDATE пройти одновременно, то получится какая-то херня пологаю, они смешаются, или че-то такое -- У Alice в итоге останется второй email, тк он выполнится последним. Порядок COMMIT важен, тк в последствии этого порядка будут выполняться запросы -- Задание 3 -- select выполнится тк просто читает, а update встанет в очередь, тк он попытается изменить 'забронированные данные' -- FOR UPDATE помогает избежать ошибок когда происходит покупка товара или че то такое, когда идет процесс изменений в данных -- Задание 4 -- Дедлок возникает потому что каждая сессия заблокировал то, что нужно другой сессии. База отменит одну из сессий, чтобы прошла хоть какая-то -- Чтобы дедлок не возникал, нужно обновления все производить в одном порядке -- Если при массовых обновлениях не соблюдать порядок строк, то будет возникать жопа из дедлоков