#青训营 x 字节后端训练营#
Day 34 MySQL事务隔离级别和MVCC
1、事务有四大特性:原子性、一致性、隔离性、持久性
2、对于数据库服务器来说,在同一时刻会有多个客户端请求连接,也就产生多个会话,也就是说可能会有多个会话处理同一个事务,从而导致四大隔离级别来处理事务并发访问出现的问题。
3、四大隔离界别
读未提交:一个事务读取到另一个事务未提交的数据,可能会导致脏读、不可重复读、幻读等问题
读已提交:事务中的修改,只有在提交后,其它事务才能看到修改的结果。可以避免脏读问题,但仍可能存在不可重复读和幻读问题。
可重复读:事务执行期间,不允许其他事务对数据进行修改,保证了当前事务中读取的数据是一致的。可以避免脏读和不可重复读问题,但仍可能存在幻读问题。
串行化:最高的隔离级别,通过强制所有事务串行执行来避免并发问题。可以避免脏读、不可重复读和幻读问题,但是效率较低,通常用于数据量小的场景。
4、隔离级别越高,数据可靠性越高,但性能更低。
展开
评论