作者:Lily賈麗 | 来源:互联网 | 2023-09-23 15:44
在mysql中,事物支持是在引擎层实现的,mysql是一个支持多引擎的系统,但并不是所有的引擎都支持事物。比如mysql原生的myisam引擎就不支持事物,这也是myisam被in
在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