Aprendi que todas as árvores B secundárias no InnoDB armazenam pares do formulário (chave de pesquisa, TID) onde TID é a chave primária dos registros. Tenho as seguintes perguntas:
(1) No InnoDB, as árvores B secundárias implementam a exclusão por exclusão de marca? Ou seja, as entradas nas folhas são marcadas como exclusão em vez de exclusão física.
(2) Em caso afirmativo, ao inserir uma nova entrada cuja chave de pesquisa é a mesma de alguma entrada excluída por marcação existente, como o InnoDB decide se a entrada excluída por marcação foi confirmada ou não? Por exemplo, suponha que a árvore B seja um índice exclusivo. Suponha que a primeira transação marca-exclui a chave de pesquisa hello
e a segunda transação tenta inserir a chave de pesquisa hello
. Se a primeira transação ainda não foi confirmada, a inserção deve falhar; caso contrário, a inserção deve ser bem-sucedida. Gostaria de saber como o InnoDB decide se é permitido inserir arquivos hello
.