Leitura fantasma
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.