Главные ошибки при смазке БД – не повторяй! ❌
🔹 Deadlock в БД (база данных): что это и как избежать
🔹 Почему две транзакции могут взаимно блокироваться (конфликт)? 🔸 Locks нужны, чтобы защитить данные от одновременных изменений. Deadlock — это ситуация, когда транзакция A держит lock на ресурсе X и ждёт Y, а транзакция B держит lock на Y и ждёт X, в результате обе висят и не могут продолжить. Конфликт возникает на пересечении ресурсов. 🔸 Последствие — тормоза и откаты: СУБД обнаружит deadlock и убьёт одну транзакцию (victim), чтобы снять циклическую блокировку. При уровне изоляции SERIALIZABLE шанс конфликтов выше из‑за более жёстких locks...