跳到主要内容

Innodb使用的是哪种隔离级别 ?

参考答案:

InnoDB数据库使用以下四种事务隔离级别,级别从高到低为:

  1. Serializable(串行化):这是最严格的隔离级别,事务串行执行,资源消耗最大。
  2. REPEATABLE READ(重复读):这是InnoDB的默认隔离级别。它保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据。这避免了“脏读取”和“不可重复读取”的情况,但不能避免“幻读”。这种隔离级别带来了更多的性能损失。
  3. READ COMMITTED(提交读):这是大多数主流数据库的默认事务等级。它保证了一个事务不会读到另一个并行事务已修改但未提交的数据,从而避免了“脏读取”,但不能避免“幻读”和“不可重复读取”。这个级别适用于大多数系统。
  4. Read Uncommitted(未提交读):在这个级别,事务中的修改,即使没有提交,其他事务也可以看到。这会导致“脏读”、“幻读”和“不可重复读取”。也就是说,当前事务读到的数据是别的事务想要修改成为的但是没有修改成功的数据。

请注意,用户可以为一个session中或所有的connection设置事务隔离级别属性,以满足特定的应用需求。