mysql之事务

2020-03-24 16:22:07来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

mysql之事务

image.png

我们为什么要使用数据库的事务呢?使用事务有什么缺点呢?

使用原因:保持数据的匹配和一致性。
缺点: 并发操作中过度使用事务影响性能,因为事务用到了锁技术。

我是李福春,今天我们来复习一下事务的特性。
你可以收获下图中的知识点。

image.png

下面我们发散一下。

事务特性

原子性: 要么全部成功要么全部失败
一致性: 保证事务的前后一致性?
隔离性:事物之间的执行不能互相干扰?
持久性: 事务终结的标志,内存的数据持久化到硬盘中

并发场景下事务出现的问题

脏读:

image.png

不可重复读

image.png

幻读:

image.png

依赖id的自增做为依据。

隔离级别

读未提交? ? ?隔离度最弱? ? ? ? ???脏读 不可重复度 幻读

读已提交? ? ? ? ? ? ? ? ?? ??? ??? ??不可重复度 幻读

可重复读? ? ? 数据库默认? ? ? ? ??幻读

可串行化? ? ? ?性能最低? ? ? ? ? ??没有问题

innodb mvcc? ?不能解决幻读

如何跟合理的使用事务

没有数据一致性要求场景

不使用事务

只有查询的场景:

不需要使用事务

更新记录表,然后更新统计表

不要使用事务, 使用事务触发或者定时任务;

内容繁杂的大事务

分拆成各种小事务,各种反向操作辅助

image.png

原创不易,转载请注明出处。


原文链接:https://www.cnblogs.com/snidget/p/12556761.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:每个程序员都必须掌握的 8 种数据结构!

下一篇:Kafka技术内幕——图文详解Kafka源码设计与实现