Há quatro níveis de isolamento de transação que são definidos pelo SQL ANSI/ISO.
IBM® Netezza SQL suporta a gramática SQL para definir todos os quatro níveis de isolamento:
- Leitura confirmada
- Leitura não confirmada
- Leitura repetida
- Serializável
O único nível de isolamento que o Netezza SQL implementa, entretanto, é serializável, o que fornece o maior nível possível de consistência.
Esses níveis de isolamento evitam as seguintes ocorrências entre transações simultâneas:
- Leituras sujas
- Uma transação lê dados que são gravados por transações simultâneas não confirmadas.
- Leituras não repetidas
- Uma transação relê os dados que lê anteriormente e descobre que os dados são modificados por outra transação (que foi confirmada desde a leitura inicial).
- Leitura fantasma
- Uma transação executa novamente uma consulta que retorna um conjunto de linhas que satisfazem uma condição de procura e descobre que o conjunto de linhas mudou devido a outra transação confirmada recentemente.
A tabela a seguir descreve os quatro níveis de isolamento.
Tabela 1. Níveis de isolamento| Nível de isolamento |
Leitura suja |
Não repetida |
Fantasma |
| leitura não confirmada |
Possível |
Possível |
Possível |
| leitura confirmada |
Não possível |
Possível |
Possível |
| leitura repetida |
Não possível |
Não possível |
Possível |
| serializável |
Não possível |
Não possível |
Não possível |