【MySQL】P11 事务(2)事务四大特性 并发事务 事务隔离级别
创始人
2024-06-03 09:43:27
0

事务

  • 事务的四大特性 ACID
  • 并发事务
    • 并发事务引发的问题
    • 事务隔离级别
    • 四种事务隔离级别
    • 查看/修改事务隔离级别

事务的四大特性 ACID

原子性:(Atomicity)
事务是不可分割的最小操作单元,要么全部成功,要么全部失败;

一致性:(Consistency)
事务完成时,必须是所有数据保持一直状态;

隔离性:(Isolation)
多组事务存在并发,但是根据数据库系统提供的隔离机制,互不干扰;

持久性:(Durability)
事务一旦提交或回滚,其对数据库中数据的更改是持久性的。


并发事务

并发事务引发的问题

脏读:

事务A 读取到 事务B 还没有提交的数据;

# 切换到最低事务隔离级别
set session transaction isolation level read uncommitted;
# 启动事务A与事务B
start transaction;
# 事务A查看表内容(并行1)
select * from account;
# 事务B修改表内容(并行1)
update account set money = money - 1000 where name= "张三";
# 事务A查看表内容
select * from account;			# 发现数据库内容变化,但是事件B仍未提交commit;出现错误脏读;

解决方法:切换到 read committed 模式下;


不可重复读:

事务A 先后两次读取同一条记录时,两次读取到的数据不同;

解决方法:切换到 repeated read 模式下
不管事件B是否提交数据,事件A读取同一条记录一直保持不变,直到事件A也提交数据后再次查询;


幻读:

事务A 查询数据时,没有对应数据行,但是插入数据时,发现数据已经存在;事务B 插入数据并提交,但是事务A 由于具有不可重复性,所以虽然显示查询不到,但是也插入不了;

解决方法:切换到 serializable 模式下
事务A阻塞事务B,直到事务A提交后,事务B才可以进行插入操作;


事务隔离级别

存在四种事务隔离级别,事务隔离级别越高,数据越安全,但是性能越低;

四种事务隔离级别

Read uncommitted		# 存在问题:脏读、不可重复度、幻读
Read committed			# 存在问题:不可重复读、幻读
Repeatable Read			# 存在问题:幻读(MySQL默认)
Serializable			# 存在问题:无

查看/修改事务隔离级别

查看事务隔离级别

select @@transaction_isolation;

设置事务隔离级别

set session transaction isolation level read uncommitted;
# 修改事务隔离级别为 Read uncommitted

事务的隔离级别越高,事务越安全,但是性能会越低;
事务的隔离级别越低,事务越不安全,但是性能高;

我们需要权衡事务隔离级别,一般采用默认的 Repeatable Read


相关内容

热门资讯

a股有几家上市公司 中国a股上... 齐鲁晚报讯祁鲁镇记者张通讯员6月15日,中国证监会山东监管局连续发布3份辅导工作总结报告,其中2份的...
开办小型日化厂违法吗 小型洗洁... 食品安全一直受到关注,尤其是在这样的大热天,人们对进口的东西更加谨慎。抚顺的朋友们,你们可能已经注意...
马云预言未来十大行业 暴利行业... 说到马云,很多人都很熟悉他。马云通过自己的努力和奋斗,逐渐开创了网上支付,他的眼光和勇气是非常独特的...
总是很自卑怎么办?做什么都做不... 总是很自卑怎么办?做什么都做不好,心态也很不好,感觉真的好累自卑跟性格有很大关系!你可能有些内向!其...
求一部国外电影,关于博物馆的故... 求一部国外电影,关于博物馆的故事讲的是在一个博物馆里每到晚上里面的东西就会复活,好像恐龙骨架什么的,...
我愿做江州司马为你泪湿青衫 我愿做江州司马为你泪湿青衫《琵琶行》白居易 座中泣下谁最多,江州司马青衫湿。同是天涯沦落人,相逢...
肩周炎怎么治? 肩周炎怎么治?肩周炎又称冻结肩、五十肩,是肩关节周围软组织慢性炎症性病变,主要以保守治疗为主。具体治...
谁有古代言而无信的例子? 谁有古代言而无信的例子?谁有古代言而无信的例子? 秦惠文王、张仪:秦惠文王更元十二年(前313年...
学生成长记录手册上家长寄语怎么... 学生成长记录手册上家长寄语怎么写可以写的抒情点,如“在生活中的每一天,都是一个阳光明媚的日子,因为,...
和伴侣在一起时会做哪些事情? 和伴侣在一起时会做哪些事情?情侣刚在一起的时候总是想把自己好的一面展现给对方,但是随着时间长了,感情...