Léxico de TI › Programação › Leitura fantasma

Leitura fantasma

Programação Svenska → Atualizado: 2026-09-30

Uma transação executa a mesma consulta por intervalo duas vezes e obtém contagens diferentes de linhas — porque outra transação deu INSERT em novas linhas que casam com o filtro.

Difere da leitura não repetível comum (a mesma linha atualizada) por envolver linhas NOVAS. É evitada por Snapshot Isolation e Serializable. O padrão SQL define o fantasma como a anomalia que separa "Repeatable Read" de "Serializable". O "Repeatable Read" do Postgres, na verdade, implementa Snapshot Isolation (evita fantasmas nas leituras, mas não o write skew). O InnoDB do MySQL usa gap locks para evitar fantasmas também no Repeatable Read.

← Voltar ao léxico