zoukankan      html  css  js  c++  java
  • 事务

    事务

    什么是事务

    一个事务是一个完整的业务逻辑单元,不可再分。

    与事务相关的语句只有(DML语句)。(insert delete update)

    事务原理

    image-20201020161253180

    事务的特性

    事务包含四大特性:ACID

    A:原子性:事务最小的工作单元,不可再分

    C:一致性:事务必须保证多条DML语句同时成功或者同时失败

    I: 隔离性:事务A与事务B之间具有隔离

    D:持久性:持久性说的是最终数据必须持久化到硬盘文件中,事务才算成功的结束

    事务的隔离性

    事务的隔离性存在隔离级别,理论上隔离级别有4个:

    第一级别:读未提交

    ​ 对方事务还没有提交,我们当前事务可以读取到对方未提交的数据。

    ​ 读未提交存在脏读现象

    第二级别:读已提交

    ​ 对方事务提交之后的数据我方可以读取到。

    ​ 这种隔离级别解决了脏读现象。

    ​ 读已提交存在的问题是:不可重复读。

    第三级别:可重复度

    ​ 这种隔离级别解决了:不可重复读问题

    ​ 这种隔离级别存在的问题是:读到的数据都是虚的。

    第四级别:序列化读/串行化读

    ​ 解决了所有问题。

    ​ 效率低。需要事务排队。

    开始事务

    BEGIN TRANSACTION <事务名称> |@ <事务变量名称>
    

    提交事务

    COMMIT TRANSACTION <事务名称> |@ <事务变量名称>
    

    撤销事务

    ROLLBACK [TRANSACTION] <事务名称> |@ <事务变量名称> |<存储点名称> | @<含有存储点名称的变量名>
    
  • 相关阅读:
    Chrony服务同步集群时间
    lsyncd+rsync实时同步
    iptables
    nginx 之 proxy_pass详解
    Ansible 中的 playbook 详解
    MySQL基本查询实战
    MySQL索引
    MySQL高可用方案——双主
    MySQL事务
    MySQL用户和权限管理
  • 原文地址:https://www.cnblogs.com/striver20/p/13853476.html
Copyright © 2011-2022 走看看