Partilhar via


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:

Para obter mais informações, veja Controlar a durabilidade da transação.

Consulte Também

Memory-Optimized Tables