Compreendendo transações em tabelas com otimização de memória
As transações acessam as tabelas com otimização de memória usando um formulário de controle de simultaneidade otimista e de várias versões. Isso significa que há versões diferentes de dados. Cada transação opera sua própria versão do banco de dados consistente transacionalmente, independentemente de outras transações simultaneamente em execução. Além disso, as transações operam sob a suposição otimista de que não haverá conflitos com outras transações simultâneas. Isso evita a necessidade de usar bloqueios, mas exige que o sistema detecte conflitos e encerre uma das transações conflitantes. Conflitos podem ocorrer apenas em transações de gravação/gravação e em transações de leitura/gravação. Se houver um conflito de gravação/gravação, uma transação de gravação será encerrada.
Há semelhanças entre o controle de simultaneidade para tabelas com otimização de memória e o controle de simultaneidade para tabelas baseadas em disco, para os níveis de isolamento da transação READ_COMMITTED_SNAPSHOT e SNAPSHOT. (Para obter mais informações sobre tabelas baseadas em disco, consulte Níveis de isolamento com base em controle de versão de linha no mecanismo de banco de dados.)
Tópicos desta seção
Esta seção sobre transações em tabelas com otimização de memória inclui os seguintes tópicos:
Diretrizes para níveis de isolamento da transação com tabelas com otimização de memória
Diretrizes para lógica de repetição das transações em tabelas com otimização de memória
Para obter mais informações, veja Controlar a durabilidade da transação.