Hvis du bruger InnoDB eller en transaktions-RDBMS på rækkeniveau, er det muligt, at enhver skrivetransaktion kan forårsage et dødvande, selv i helt normale situationer. Større tabeller, større skrivninger og lange transaktionsblokke vil ofte øge sandsynligheden for, at deadlocks opstår. I din situation er det sandsynligvis en kombination af disse.
Den eneste måde virkelig at håndtere dødvande er at skrive din kode for at forvente dem. Dette er generelt ikke særlig svært, hvis din databasekode er velskrevet. Ofte kan du bare sætte en try/catch
omkring forespørgselsudførelseslogikken og se efter en dødvande, når der opstår fejl. Hvis du fanger en, er den normale ting at gøre bare at forsøge at udføre den mislykkede forespørgsel igen.
Jeg anbefaler stærkt, at du læser denne side i MySQL-manualen. Den har en liste over ting, du kan gøre for at hjælpe med at klare dødvande og reducere hyppigheden af dem.