sql >> Database teknologi >  >> RDS >> Sqlserver

Deadlock fra Range-låse på primærnøgleindeks

Det er klassisk dødvande, når én proces(offer) læser på serializable niveau og en anden opdaterer den samme klyngede tabel.

Du er forvirret med, hvad der konverteres til hvad.

Den første proces ("process5e13b88") har erhvervet RangeS-S lås og venter på endnu en RangS-S lås (hvor der er X lås af opdateringsprocessen), konverterer den intet.

Den anden "process5e45b88" har erhvervet X lås på én nøgle og U på en anden nøgle og ønsker at konvertere den til X men det kan den ikke, fordi der er RangeS-S lås.

Jeg vedhæfter billedet, hvor du kan se, at én proces kun ønsker og erhverver RangeS-S låse og en anden kun X låse.

Når du ser RangeS-U lås dette betyder, at der er RangeS-S lås på området, men selve nøglen har U lås



  1. Fejl ved oprettelse af en geografisk database. FEJL:kunne ikke indlæse biblioteket /usr/pgsql-9.1/lib/rtpostgis-2.0.so

  2. Fejl under udførelse af Mariadb-opdateringserklæring

  3. Rediger materialiseret visningsforespørgsel

  4. Gentag over en kolonne i PL/SQL