Mysql的面试题
事务的隔离级别
- 未提交读:脏读、不可重复读、幻读
- 读已重复:不可重复读、幻读
- 可重复读(mysql默认的隔离级别):幻读
- 串行化
事务的隔离级别越高,数据越安全,但性能越低
并发事物问题
- 脏读:一个事务读取到另外一个事务还没有提交的数据
- 不可重复读:一个事务先后读取同一个记录,但是两次读取的数据不同
- 幻读:幻读指的是在一个事务中,当执行相同的查询操作时,由于其他事务的并发操作,导致两次查询得到的结果集不同。这种情况下,第二次查询可能会看到其他事务插入的新数据行,而这些行在第一次查询时并不存在,从而产生了“幻读”现象。
幻读与不可重复读的区别主要在于:幻读关注的是数据行的新增或删除(即存不存在的问题),而不可重复读关注的是数据行的内容变化(即变没变化的问题)。