Mysql
 sql >> Baza danych >  >> RDS >> Mysql

operacja usuwania blokuje całą tabelę w innodb

Przede wszystkim zakładając, że id jest kluczem podstawowym lub przynajmniej indeksowaną kolumną.

Insert nie powinien blokować tabeli, więc istnieje prawdopodobieństwo, że inne zapytania aktualizujące/usuwające są wykonywane w tym samym czasie, co usuwanie rekordów.

Jeśli tak nie jest, może to być spowodowane „zablokowaniem luki”, jak wspomniano @a_horse_with_no_name.

Więc kiedy ponownie pojawi się ten problem, musisz zapisać wszystkie procesy "pokaż pełną listę procesów" na swoim końcu, a także sprawdzić "pokaż stan innodb silnika", gdzie pokaże ci identyfikatory procesów związane z zakleszczeniem, pomoże to uzyskać dokładne problem.

Dalej Możesz uniknąć tego blokowania, aby usunąć wszystkie wiersze jeden po drugim na podstawie klucza podstawowego.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sequelize:Error:Error:Table1 nie jest powiązana z Table2

  2. Połącz się ze zdalną bazą danych MySQL przez SSH za pomocą Javy

  3. Uzyskaj średni czas między czasami w SQL

  4. Dlaczego moje wiersze „WSTAW… PRZY AKTUALIZACJI ZDUPLIKOWANEGO KLUCZA” mają wpływ na 2 wiersze?

  5. Dwie wstawki w PHP/MySQL przy użyciu LAST_INSERT_ID() i wierszy z innej tabeli