Conhecimento básico de negócios

1 As características da transação ACID
        1) Atomicidade (Atomicidade) Atomicidade significa que a transação é uma unidade de trabalho inseparável e as operações na transação ocorrem ou não. 

        2) Consistência (consistência) Em uma transação, a integridade dos dados antes e depois da transação deve ser consistente.

        3) Isolamento de várias transações: o isolamento de transações significa que, quando vários usuários acessam o banco de dados simultaneamente, as transações de um usuário não podem ser interferidas pelas transações de outros usuários, e os dados entre várias transações simultâneas devem ser isolados um do outro.

       4) Durabilidade Durabilidade refere-se ao fato de que, uma vez que uma transação é confirmada, ela altera os dados no banco de dados permanentemente e, portanto, não deve ter nenhum impacto no banco de dados, mesmo que falhe.

    2) Problemas de acesso simultâneo causados ​​pelo isolamento
    Se você não considerar o isolamento, existem 3 problemas de acesso simultâneo na transação.

        1) Leitura suja (leitura não confirmada): a transação B lê os dados que uma transação ainda não enviou e, como resultado, a transação A reverte ------ A transação B é necessária para ler os dados enviados por uma transação

        2) Leitura não repetível (leitura confirmada): uma transação executa atualizações e outras operações, e o conteúdo dos dados lidos duas vezes na transação B é inconsistente, ou seja, o conteúdo dos dados lidos várias vezes é inconsistente ----- O que é necessário é mais do que uma transação Os dados são consistentes durante a segunda leitura --- unpdate

        3) leitura fantasma / leitura virtual (leitura repetível): Uma transação é inserida antes e depois da transação. Os dados são excluídos e as transações B são atualizadas repentinamente, para aumentar ou diminuir o número de linhas que afetam o número de linhas ----- requer várias leituras em uma transação. A quantidade de dados obtidos é a mesma inserção de exclusão

    3) Nível de isolamento da transação
        1) leitura não confirmada: leitura de dados não confirmados: nenhum problema pode ser resolvido

        2) leitura confirmada: leia os dados que foram enviados: leituras sujas podem ser resolvidas ---- oracle default

        3) leitura repetida: reler leitura: pode resolver leituras sujas e leituras não repetíveis --- padrão mysql

        4) serializable: serialization: pode resolver leitura suja, leitura não repetível e leitura virtual --- equivalente à tabela de bloqueio
 

2. Sete comportamentos de propagação de transações no Spring O comportamento de propagação de
transações, o valor padrão é Propagation.REQUIRED. Você pode especificar manualmente outro comportamento de propagação da transação, da seguinte maneira:

Ag 1) Propagation.REQUIRED

Se uma transação existir no momento, a transação será adicionada e, se nenhuma transação existir, uma nova transação será criada.

) 2) Propagação.

Se houver atualmente uma transação, a transação será adicionada; se não houver transação, a operação continuará de maneira não transacional.

Ag 3) Propagação.MANDATÓRIA

Se houver atualmente uma transação, a transação será adicionada; se não houver uma transação atual, uma exceção será lançada.

) 4) Propagação.REQUIRES_NEW

Recrie uma nova transação, se houver uma transação no momento, atrase a transação atual.

(5) Propagação.NOT_SUPPORTED

Executar de maneira não transacional, se houver uma transação no momento, suspenda a transação atual.

) 6) Propagation.NEVER

Execute de maneira não transacional, se uma transação existir atualmente, uma exceção será lançada.

Ag 7) Propagação.

Caso contrário, crie uma nova transação; se houver, aninhe outras transações na transação atual.
 

 

Publicado 13 artigos originais · elogiado 3 · visitas 4981

Acho que você gosta

Origin blog.csdn.net/u010919402/article/details/97169511
Recomendado
Clasificación