sql >> Database >  >> RDS >> Mysql

verwijder bewerking vergrendelt hele tabel in innodb

Allereerst ervan uitgaande dat id een primaire sleutel is of op zijn minst een geïndexeerde kolom.

Invoegen mag de tabel niet vergrendelen, dus de kans is groot dat een andere update/verwijder-query wordt uitgevoerd op hetzelfde moment dat de records worden verwijderd.

Als dit niet het geval is, kan dit te wijten zijn aan "gap locking" zoals vermeld @a_horse_with_no_name.

Dus op het moment dat u dit probleem opnieuw krijgt, moet u alle processen opslaan "volledige proceslijst weergeven" aan uw einde en ook "toon engine innodb-status" aanvinken, waar het u processids laat zien die verband houden met deadlock, dit zal u helpen om exact te krijgen probleem.

Verder U kunt deze vergrendeling vermijden om alle rijen één voor één te verwijderen op basis van de primaire sleutel.




  1. Wat is er nieuw in MariaDB MaxScale 2.4

  2. pyspark gebruiken om verbinding te maken met PostgreSQL

  3. Hoe alle primaire sleutels uit alle tabellen in de SQL Server-database te verwijderen - SQL Server / TSQL-zelfstudie, deel 65

  4. Verbinding Toegang geweigerd voor gebruiker www-data