第十节、事物的隔离

在mysql中,事物支持是在引擎层实现的,mysql是一个支持多引擎的系统,但并不是所有的引擎都支持事物。比如mysql原生的myisam引擎就不支持事物,这也是myisam被innodb取代的重要原因之一。

隔离性与隔离级别

提到事物,会想到ACID(Atomicity、Consistency、Isolation、Durability),即原子性、一致性、隔离性、持久性,这里简单说说其中的I,也就是“隔离性”。

当数据库上有多个事物同时执行的时候,就可能出现脏读、不可重复读、幻读的问题,为了解决这些问题,就有了“隔离级别”的概念。

在谈隔离级别之前,首先要知道,隔离级别越严实,效率就会越低。因此需要在两者之间寻找一个平衡点。SQL标准的事物隔离级别包括:读未提交、读提交、可重复读和串行化。

《第十节、事物的隔离》 事物的隔离级别

“四大隔离级别”的区别

《第十节、事物的隔离》 数据库表

《第十节、事物的隔离》 示例

《第十节、事物的隔离》 事物隔离级别的区别

可重复读的使用场景

《第十节、事物的隔离》 可重复读使用场景

事物隔离的实现

以“可重复读”为例展开介绍

《第十节、事物的隔离》
《第十节、事物的隔离》

事物的启动方式

《第十节、事物的隔离》 select * from information_schema.innodb_trx where TIME_TO_SEC(timediff(now(),trx_started))>60

    原文作者:西伯利亚的bug王
    原文地址: https://www.jianshu.com/p/ac55d6c79405
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞