• MySQL数据库事务及其特性


    一、事务概念

    事务就是一个程序执行单元,里面的操作要么都做,要么都不做。

    二、事务特性

    事务有四个非常重要的特性(ACID):

    原子性(Atomicity):事务是不可分割的整体,所有操作要么全做,要么全不做;只要事务中有一个操作出错,回滚到事务开始前状态,即之前已执行的操作无效。

    一致性(Consistency):事务执行前后,从一个一致性状态到另一个一致性状态;比如A向B转账(A、B总金额就是一个一致性状态),不可能出现A扣了钱。B却没收到。

    隔离性(Isolation):多个并发事务之间相互隔离, 不能相互干扰。

    持久性(Durablity):事务完成后,对数据库的更改是永久保存的,不能回滚。

    三、事务并发问题

    1、脏读:一个事务读取了另一个事务未提交的数据。

    2、不可重复读:一个事务多次读取同一数据,得到了不同的值。(被另一个事务更新了--update)

    3、幻读:也是多次读取得到的结果不一致。(被另一个事务增加或删除了记录--insert/delete)

    四、事务隔离级别(MySQL)

    1、读未提交(read-uncommitted)

    2、读已提交(read-committed):解决脏读

    3、可重复读(Repeatable read):解决脏读、不可重复读

    4、串行化(Serializable):解决脏读、不可重复读、幻读

    MySQL默认的隔离级别是read-committed,级别越高,性能就越低。

  • 相关阅读:
    Python open() 函数
    python中的多重循环
    网络爬虫构造出URL的列表数据
    js自定义类和对象及继承
    最全的CSS浏览器兼容问题
    大型网站性能优化(页面(HTML)优化的方法)
    element-ui el-table有设置固定列fixed,高度不对的情况
    伊始
    【Object-C】Object-C 的包装类
    【Object-C】处理对象:description 方法、isEqual方法
  • 原文地址:https://www.cnblogs.com/jayxuan/p/10712645.html
Copyright © 2020-2023  润新知