栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySql事务四大特性、四大隔离级别及所解决的问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySql事务四大特性、四大隔离级别及所解决的问题

MySql事务四大特性、四大隔离级别及所解决的问题
  • 事务的ACID概念
    • 原子性(atomicity)
    • 一致性(consistency)
    • 隔离性(isolation)
    • 持久性(durability)
  • 脏读
  • 不可重复读
  • 幻读(和不可重复读几乎一致,只是这个是新增)
  • 四大隔离级别
    • READ UNCOMMITTED(读未提交)
    • READ COMMITTED(读提交)
    • REPEATABLE READ(可重复读)MYSQL默认的隔离级别
    • SERIALIZABLE(串行化)

事务的ACID概念 原子性(atomicity)

一个事务必须被视为一个不可分割的最小工作单位(也就是一个整体)

一致性(consistency)

数据库总是从一个一致性的状态转换到另一个一致性的状态(也就是一组组操作同时成功或同时失败)

隔离性(isolation)

一个事务所做的修改在提交以前,对其他事务不可见(每一个操作相互独立)

持久性(durability)

一旦事务提交,则所做修改会永久保存到数据库中

脏读

事务可以读取到没有提交的数据(简单来讲其实就是A事务正在编辑数据,事务还没有提交,但是B事务可以读取到他编辑的数据)

不可重复读

两次执行同样的查询,可能会得到不一样的结果(简单来说事务A首先读取了一条数据,然后执行逻辑的时候,事务B将这条数据改变了,然后事务A再次读取的时候,发现数据不匹配了,就是所谓的不可重复读了)

幻读(和不可重复读几乎一致,只是这个是新增)

指的是当某个事务在读取某个范围内的记录时,另一个事务又在该范围内插入了新的数据,当之前的事务再次查询该范围时会产生幻行。

四大隔离级别 READ UNCOMMITTED(读未提交) READ COMMITTED(读提交) REPEATABLE READ(可重复读)MYSQL默认的隔离级别 SERIALIZABLE(串行化)

是最高的隔离级别,它通过强制事务串行化执行,避免了前面说的所有问题,简单来说它会在读取的每一行数据上都加锁,所以可能导致大量的超时和锁争用问题。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/678499.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号