segunda-feira, 8 de abril de 2013

NOLOCK - Como é que é mesmo?

Vez por outra tenho essa dúvida

Sybase
SELECT * FROM [TABELA] NOLOCK

SQLServer
SELECT * FROM [TABELA_NOME] WITH (NOLOCK)

MySQL
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
SELECT * FROM [TABELA_NOME];
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;

Oracle
No oracle quem lê não bloqueia quem escreve e vice versa. Este bloqueio é que obriga no SQLServer, MySQL e Sybase a utilizar o artifício do NOLOCK ou READ UNCOMMITTED.

Obs: Talvez já existam versões de Sybase, SQLServer e MySQL que não precisam mais de artifício para fazer o que o Oracle faz. Mas no momento desconheço tais versões. OK?

E HÁ!

Nenhum comentário:

Postar um comentário