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

SQL Server ROWLOCK over en SELECT, hvis den ikke eksisterer INSERT transaktion

En forklaring...

  • ROWLOCK/PAGELOCK er granularitet
  • XLOCK er tilstand

Granularitet og isolationsniveau og tilstand er ortogonale.

  • Granularitet =hvad der er låst =række, side, tabel (PAGLOCK, ROWLOCK, TABLOCK )

  • Isolationsniveau =låsevarighed, samtidighed (HOLDLOCK, READCOMMITTED, REPEATABLEREAD, SERIALIZABLE )

  • Mode =deling/eksklusivitet (UPDLOCK, XLOCK )

  • "kombineret" f.eks. NOLOCK, TABLOCKX

XLOCK ville have låst rækken udelukkende som du vil. ROWLOCK/PAGELOCK ville ikke have.




  1. mySql - oprettelse af en joinforbindelse ved hjælp af en liste med kommaseparerede værdier

  2. Hvordan bestiller man en MySQL-forespørgsel efter en specifik kolonne?

  3. Modul ikke fundet ved import af en Python-pakke i en plpython3u-procedure

  4. Hent data fra MySQL-databasetabel efter specifikt felt i url