Rodrigo Fortes

"Só duas coisas são infinitas, o universo e a estupidez humana, mas não estou seguro sobre o primeiro"

with(nolock)

O NOLOCK é um comando utilizado no SQL Server que permite realizar a leitura de dados não comitados, ou seja, dados que estão sendo manipulados e ainda não foram confirmados pelo banco de dados.

Quando se utiliza o NOLOCK, as operações de leitura não impõe nenhum tipo de bloqueio, simplesmente são lidos os dados. A vantagem do uso do nolock é que as operações de leitura não teem que esperar, basta simplesmente ler. Outro ponto positivo é que se as leituras não impõe bloqueios, o SQL Server não terá que gastar recursos gerenciando esses bloqueios.

Porém deve-se tomar muito cuidado com o uso do nolock, pois muitas vezes pode retornar dados que não são reais, pelo fato de ainda não terem sidos confirmados no banco de dados.

Eu particularmente utilizo muito o nolock na criação de views.