Ако използвате InnoDB или която и да е транзакционна RDBMS на ниво ред, тогава е възможно някои транзакцията за запис може да доведе до задънена улица, дори в напълно нормални ситуации. По-големите таблици, по-големите записи и дългите блокове на транзакции често увеличават вероятността от възникване на блокиране. Във вашата ситуация вероятно е комбинация от тях.
Единственият начин наистина да се справите със задръстванията е да напишете кода си, за да ги очаквате. Това обикновено не е много трудно, ако кодът на вашата база данни е добре написан. Често можете просто да поставите try/catch
около логиката на изпълнение на заявката и потърсете задънена улица, когато възникнат грешки. Ако хванете такава, нормалното нещо, което трябва да направите, е просто да опитате да изпълните отново неуспешната заявка.
Силно препоръчвам да прочетете тази страница в ръководството за MySQL. Той има списък с неща, които трябва да направите, за да помогнете за справяне със задръстванията и да намалите честотата им.