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

SQL Server deadlocks mellem valg/opdatering eller flere valg

Dette kan ske, fordi en select låser to forskellige indekser, mens en opdatering låser de samme indekser i modsat rækkefølge. Select har brug for to indekser, fordi det første indeks ikke dækker alle de kolonner, det skal have adgang til; opdateringen har brug for to indekser, fordi hvis du opdaterer et indekss nøglekolonne, skal du låse den.

http://blogs.msdn.com/bartd/archive /2006/09/25/770928.aspx har en fantastisk forklaring. Foreslåede rettelser omfatter tilføjelse af et indeks, der dækker alle de kolonner, som udvalgten har brug for, skift til snapshot-isolering eller eksplicit at tvinge selecteren til at få fat i en opdateringslås, som den normalt ikke har brug for.



  1. Tilføj et linket server-login i SQL Server (T-SQL-eksempel)

  2. Oracle-skemabruger kan ikke oprette tabel i procedure

  3. Forskellen mellem int og int(2) datatyper i min sql

  4. MySQL venstre ydre joinforbindelse med where-klausul - returner umatchede rækker