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

Nul SQL-deadlock ved design - nogen kodningsmønstre?

At skrive dødlåssikker kode er virkelig svært. Selv når du får adgang til bordene i samme rækkefølge, kan du stadig få deadlocks [1]. Jeg skrev et indlæg på min blog, der uddyber nogle tilgange, der vil hjælpe dig med at undgå og løse dødvande situationer.

Hvis du vil sikre, at to udsagn/transaktioner aldrig vil låse fast, kan du muligvis opnå det ved at observere, hvilke låse hvert udsagn bruger ved at bruge sp_lock systemlagret procedure. For at gøre dette skal du enten være meget hurtig eller bruge en åben transaktion med et holdlås-tip.

Bemærkninger:

  1. Enhver SELECT-sætning, der har brug for mere end én lås på én gang, kan deadlock mod en intelligent designet transaktion, som griber låsene i omvendt rækkefølge.


  1. Kolonnenavnet eller antallet af angivne værdier matcher ikke tabeldefinitionen

  2. FEJL:kunne ikke få adgang til filen "$libdir/plpython2" - FEJL:kunne ikke få adgang til filen "$libdir/plpython3"

  3. Top 3 tips, du skal vide for at skrive hurtigere SQL-visninger

  4. Oracle-indstilling pr. brugers standardskema (ændrer ikke en session)