A procedure SalvarContasPagar está com um tempo demorado de...

Próximas questões
Com base no mesmo assunto
Q2398030 Banco de Dados
A procedure SalvarContasPagar está com um tempo demorado de comunicação dentro de uma transaction e, com isso, foi identificado que está faltando o argumento ____________________ para garantir que as tabelas não fiquem aguardando o término da transaction.


Assinale a alternativa que preenche corretamente a lacuna.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a A - WITH (NOLOCK).

Para entender essa questão, é importante conhecer o conceito de isolamento de transações em bancos de dados relacionais e as dicas (hints) que podem ser usadas para modificar o comportamento padrão do SQL Server em relação ao bloqueio de dados durante operações de leitura e escrita.

O SQL Server, como muitos sistemas de gerenciamento de banco de dados, utiliza mecanismos de bloqueio para manter a integridade dos dados quando múltiplos usuários ou processos estão interagindo com o banco simultaneamente. Por vezes, esses bloqueios podem levar a problemas de performance, pois eles impedem que outros processos acessem os dados bloqueados até que a transação atual seja concluída.

A dica WITH (NOLOCK) é usada em uma consulta SQL para instruir o banco de dados a não emitir bloqueios compartilhados e a não respeitar bloqueios exclusivos quando realiza operações de leitura. Isso significa que a consulta pode ler dados que ainda não foram confirmados (commited) e estão em meio a uma transação, o que é conhecido como leitura suja (dirty read). Embora isso possa levar a leituras de dados potencialmente inconsistentes, o uso dessa dica pode melhorar a performance ao reduzir o tempo de espera por bloqueios.

Assim, a utilização da cláusula WITH (NOLOCK) permite que a procedure SalvarContasPagar continue operando mesmo que outras transações estejam ocorrendo, sem ter que aguardar o término destas para acessar as tabelas necessárias, o que soluciona o problema de tempo demorado de comunicação apontado no enunciado da questão.

É importante ressaltar que o uso do WITH (NOLOCK) deve ser feito com cautela e em situações onde os benefícios de performance superam o risco de ler dados inconsistentes. Em ambientes onde a integridade dos dados é crítica, outras estratégias devem ser consideradas para melhorar o tempo de resposta das transações.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo