sql >> Databáze >  >> RDS >> Mysql

Obcházení chyby MySQL Při pokusu o uzamčení zjištěno uváznutí; zkuste transakci restartovat

Pokud používáte InnoDB nebo jakýkoli transakční RDBMS na úrovni řádků, je možné, že jakýkoli transakce zápisu může způsobit uváznutí, a to i v naprosto normálních situacích. Větší tabulky, větší zápisy a dlouhé transakční bloky často zvyšují pravděpodobnost zablokování. Ve vaší situaci je to pravděpodobně kombinace těchto.

Jediný způsob, jak skutečně zvládnout zablokování, je napsat kód tak, aby je očekával. To obecně není příliš obtížné, pokud je kód vaší databáze dobře napsán. Často stačí zadat try/catch kolem logiky provádění dotazu a hledejte uváznutí, když dojde k chybě. Pokud jeden chytíte, normální věcí je pokusit se znovu provést neúspěšný dotaz.

Vřele doporučuji, abyste si přečetli tuto stránku v příručce MySQL. Obsahuje seznam věcí, které je třeba udělat, abyste se vyrovnali s patovými situacemi a snížili jejich frekvenci.



  1. Jak ošetřit chyby ve vnořených transakcích SQL Server

  2. umožnit vzdálený přístup k databázi MySQL z libovolné IP adresy

  3. Jak změníte datový typ sloupce na serveru SQL?

  4. Jaký je nejrychlejší způsob, jak zkrátit časová razítka na 5 minut v Postgres?