Mysql的事务隔离级别有哪些?能简单介绍以下么?
Mysql的事务隔离级别有哪些?能简单介绍以下么?
提示
题眼: 按照隔离级别从低到高。
- 读未提交:一个事务还未提交时可以被别的事务读取数据
- 读提交:一个事务提交之后,所做的变更可以被别的事务看到
- 可重复读:事务在执行中用到的数据与最开始所看到的数据是一样的
- 串行化:加锁出现冲突时 事务必须要等到前一个事务执行完成 隔离级别越高,性能就会下降。
相关信息
MySQL的默认隔离级别是可重复读
重要
参考答案:
MySQL的Innodb引擎下有四个隔离级别,按照从低到高分别是:读未提交,读提交,可重复读,串行化。读未提交,是当前事务能看到别的事务还未提交的数据。这是最低的隔离级别,可能会出现脏读、幻读、不可重复读的问题。读提交是说,当前事务只能看到别的事务已经提交后的数据,这个隔离级别基本解决了脏读的问题,但是没有解决幻读和不可重复度。可重复读是说,当前事务过程中,某一条数据不会被别人修改,它解决了不可重复度的问题,配合间隙锁还解决了幻读问题。串行化的话,是最高的隔离级别,它是将所有事务按照线性排列,这样就不会出现并发问题,自然也不会有脏读幻读等问题了。
