面试通关营打卡DAY7

快问快答版

Q1:MySQL中事务的隔离级别有哪些?

MySQL InnoDB 引擎实现了 SQL 标准的四种隔离级别:读未提交、读已提交、可重复读和串行化。其中,MySQL 的默认级别是‘可重复读(Repeatable Read)’,它通过 MVCC 机制解决了不可重复读问题,并配合 Next-Key Lock 在当前读下解决了幻读问题,是并发度与数据一致性的最佳平衡点。

Q2 :MySQL 默认的事务隔离级别是什么?为什么选择这个级别?

MySQL 默认选择可重复读(RR),主要是为了保证主从复制时的数据一致性。因为在 MySQL 早期的 Binlog 默认格式(Statement)下,读已提交(RC)级别因为没有间隙锁,会导致主库和从库执行 SQL 的顺序或结果不一致。为了避免这种主从数据偏差,MySQL 选择了 RR 作为默认级别。

Q3:数据库的脏读、不可重复读和幻读分别是什么?

脏读是读到了别人‘没提交’的数据;不可重复读是前后两次读取‘同一行’数据不一样,重点在于修改;幻读是前后两次查询‘数据条数’不一样,重点在于新增或删除。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
鱼友0411
下载 APP