数据库 · 单选题 · 第 36 题
计算机基础面试八股 · 第 36 题
MySQL InnoDB 默认的事务隔离级别是?
- A读已提交(READ COMMITTED)
- B读未提交(READ UNCOMMITTED)
- C可重复读(REPEATABLE READ)
- D串行化(SERIALIZABLE)
答案
C C. 可重复读(REPEATABLE READ)
解析
InnoDB 默认是可重复读,同一事务内多次快照读看到的数据一致,并靠 next-key lock 在很大程度上防住了幻读。Oracle、PostgreSQL 默认是读已提交,别混淆。不少互联网公司会把 MySQL 改成读已提交以减少间隙锁,这时 binlog 不能用 STATEMENT 格式,要用 ROW(MySQL 8 默认)或 MIXED。