Se utiliza principalmente cuando se realizan consulta que pueden tardar algún tiempo considerable, para evitar que la tabla se bloquee.
SELECT [NombreCampo]
FROM [NombreDeLaTabla] WITH (NOLOCK)
Ventajas:
Los bloqueos no se producirán en comparación con otras consultas que se ejecuten contra los mismos datos se utiliza menos memoria debido a la falta de fila, página o nivel de nivel de bloqueo normalmente permite una concurrencia mucho mayor debido a la menor huella.
La otra ventaja indirecta es que se utilizará menos memoria para mantener cerraduras contra esos datos.
Desventajas:
Se pueden leer datos no comprometedores que conducen a lecturas sucias sugerencias explícitas contra una tabla son generalmente malas prácticas
Si ejecutamos nuestro SELECT sin NOLOCK podemos ver los bloqueos que se toman si ejecutamos el Stored Procedure sp_lock
USE master;
GO
EXEC sp_lock;
GO
En el ejemplo siguiente se muestra información, incluidos los bloqueos, acerca del proceso con Id : 65
Leave a Reply