sql >> Database >  >> RDS >> Sqlserver

Wat is (zijn) het verschil tussen NOLOCK en UNCOMMITTED?

NOLOCK : Is gelijk aan READ UNCOMMITTED (bron:MSDN )

NOLOCK of READ UNCOMMITTED Specificeert dat vuile leesbewerkingen zijn toegestaan. Er worden geen gedeelde vergrendelingen uitgegeven om te voorkomen dat andere transacties gegevens wijzigen die door de huidige transactie zijn gelezen, en exclusieve vergrendelingen die door andere transacties zijn ingesteld, blokkeren niet dat de huidige transactie de vergrendelde gegevens kan lezen. Het toestaan ​​van vuile uitlezingen kan leiden tot hogere gelijktijdigheid, maar dit gaat ten koste van het lezen van gegevenswijzigingen die vervolgens worden teruggedraaid door andere transacties

READ UNCOMMITTED en NOLOCK hints zijn alleen van toepassing op gegevensvergrendelingen. Alle zoekopdrachten, inclusief die with READ UNCOMMITTED and NOLOCK hints, verkrijg Sch-S-vergrendelingen (schemastabiliteit) tijdens compilatie en uitvoering. Hierdoor worden query's geblokkeerd wanneer een gelijktijdige transactie een Sch-M (schemawijziging) -vergrendeling op de tafel heeft



  1. MYSQL Left Join COUNTS van meerdere tabellen

  2. PHP - ophalen van voorbereide stmt in klasse:Fatal Error-klasse niet gevonden

  3. MYSQL - selecteer de eerste 4 records voor elke categorie in een tabel

  4. Vloeiend nHibernate configureren met MySQL