1) Sim , selecione comNOLOCK será concluída mais rapidamente que uma seleção normal.
2) Sim , uma seleção com NOLOCKpermitirá que outras consultas na tabela efetuada sejam concluídas mais rapidamente do que uma seleção normal.
Por que isso seria?
NOLOCKnormalmente (dependendo do mecanismo do banco de dados) significa me fornecer seus dados, e eu não me importo em que estado eles estão, e não me importo em mantê-los imóveis enquanto você os lê. É tudo ao mesmo tempo mais rápido, menos intensivo em recursos e muito, muito perigoso.
Você deve ser avisado para nunca fazer uma atualização ou executar algo crítico no sistema, ou onde a correção absoluta seja necessária usando dados originados de uma NOLOCKleitura. É absolutamente possível que esses dados contenham linhas que foram excluídas durante a execução da consulta ou que foram excluídas em outras sessões que ainda não foram finalizadas. É possível que esses dados incluam linhas que foram parcialmente atualizadas. É possível que esses dados contenham registros que violem restrições de chave estrangeira. É possível que esses dados excluam linhas que foram adicionadas à tabela, mas ainda não foram confirmadas.
Você realmente não tem como saber qual é o estado dos dados.
Se você está tentando obter coisas como uma contagem de linhas ou outros dados de resumo onde alguma margem de erro é aceitável, NOLOCKé uma boa maneira de aumentar o desempenho dessas consultas e evitar que elas afetem negativamente o desempenho do banco de dados.
Sempre use a NOLOCKdica com muito cuidado e trate os dados que eles retornam com suspeita.