@WiNNeR_tig

Deadlock found when trying to get lock; try restarting transaction?

За сутки раз 5-10 выскакивает эта ошибка в разных запросах, на сервере за сутки проходят миллионы операций.
Опасно ли это и на что влияет ?
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Mercury13
Программист на «си с крестами» и не только
Транзакции борются за строки таблицы таким образом, что их можно рассудить, лишь откатив одну из них. Не опасно. На уровне настроек сервера не решается, дело в прикладном коде.
1. При взаимной блокировке откатить транзакцию и повторить снова.
2. На ключевых транзакциях установить более мягкое или жёсткое правило изоляции транзакций.
3. Кому-то помогало переписывание индексов: Mysql: Deadlock found when trying to get lock; try restarting transaction
4. sqlinfo.ru/forum/viewtopic.php?id=2291 Кто-то сделал неверный LOCK и вместо деда Мороза пришёл дед Лок.
5. Переписать архитектуру программы так, что не потребуется миллионы раз обращаться к одному и тому же.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Wanted. Москва
До 200 000 ₽
div. Ставрополь
от 50 000 до 120 000 ₽
Lachestry Таганрог
от 170 000 до 200 000 ₽
02 дек. 2024, в 16:45
3000 руб./за проект
02 дек. 2024, в 16:40
30000 руб./за проект
02 дек. 2024, в 16:07
300 руб./за проект