
Actualizado el 23 de abril de 2015
El año pasado, preparé una serie de publicaciones destinadas a analizar detalladamente la concurrencia, las propiedades ACID de las declaraciones y transacciones, y cada uno de los principales niveles de aislamiento en SQL Server. Ahora he concluido la serie con una publicación final sobre probablemente el nivel de aislamiento usado intencionalmente más común:lectura no confirmada ("NOLOCK").
Las propiedades ACID de extractos y transacciones |
El nivel de aislamiento serializable |
El nivel de aislamiento de lectura repetible |
El nivel de aislamiento de lectura confirmada |
Aislamiento de instantáneas confirmadas de lectura |
Modificaciones de datos bajo aislamiento de instantáneas confirmadas de lectura |
El nivel de aislamiento SNAPSHOT |
El nivel de aislamiento de lectura no confirmada |
Dado que ha sido paciente con la entrega final, hay otras lecturas/observaciones en segundo plano en lectura no confirmada que puedo ofrecer:
- Lubor Kollar:es posible que se pierdan las filas confirmadas anteriormente si se usa la sugerencia NOLOCK
- Aaron Bertrand:Malos hábitos:poner NOLOCK en todas partes
- Craig Freedman:Error de consulta con lectura no confirmada
- Aaron Bertrand:Evite usar NOLOCK en declaraciones UPDATE y DELETE de SQL Server
- David Lean:SQL Server NOLOCK Sugerencia y otras malas ideas
- Sunil Agarwal:Serie de concurrencia:¿Por qué se me bloquea cuando uso el nivel de aislamiento de lectura no confirmada o uso la sugerencia NOLOCK?
- Tony Rogerson:Timebomb:el problema de coherencia con NOLOCK / READ UNCOMMITTED (y seguimiento)