Aktualizováno 23. dubna 2015
Minulý rok jsem dal dohromady řadu příspěvků zaměřených na podrobný pohled na souběžnost, vlastnosti ACID příkazů a transakcí a každou z hlavních úrovní izolace v SQL Server. Nyní jsem sérii uzavřel posledním příspěvkem na pravděpodobně nejběžnější záměrně používané úrovni izolace:číst bez závazku ("NOLOCK").
Vlastnosti výpisů a transakcí ACID |
Úroveň serializovatelné izolace |
Úroveň izolace opakovatelného čtení |
Úroveň izolace pověřené čtením |
Přečtěte si Committed Snapshot Isolation |
Úpravy dat v části Read Committed Snapshot Isolation |
Úroveň izolace SNAPSHOT |
Úroveň izolace bez závazku čtení |
Vzhledem k tomu, že jste byli trpěliví na poslední splátku, mohu nabídnout další čtení/sledování na pozadí bez závazku:
- Lubor Kollár:Pokud použijete nápovědu NOLOCK, dříve potvrzené řádky mohou být vynechány
- Aaron Bertrand:Špatné návyky:Všude dávat NOLOCK
- Craig Freedman:Selhání dotazu s nezávazným čtením
- Aaron Bertrand:Vyhněte se používání NOLOCK v příkazech SQL Server UPDATE a DELETE
- David Lean:SQL Server NOLOCK Tip a další špatné nápady
- Sunil Agarwal :Concurrency Series:Proč dochází k blokování, když použiji úroveň izolace Read Uncommitted nebo použiji nápovědu NOLOCK?
- Tony Rogerson :Timebomb – The Consistency Problem with NOLOCK / READ UNCOMMITTED (a další)