什么是幻读,脏读,不可重复读呢?

  • 脏读是指事务A读取了事务B尚未提交的数据,导致事务A读取到了不一致或错误的数据。
  • 不可重复读是指在一个事务中,多次执行相同的查询,但在查询期间其他事务对数据进行了修改,导致多次查询返回的结果不一致。
  • 幻读是指在一个事务中,事务A查询了某个范围的数据集,然后事务B在该范围内插入或删除了数据并提交,接着事务A再次查询相同范围的数据集,结果集发生了变化,出现了新增或减少的记录,就好像产生了幻觉。

不同的隔离级别,在并发事务下可能会发生的问题:

隔离级别脏读不可重复读幻读
Read Uncommited 读取未提交
Read Commited 读取已提交
Repeatable Read 可重复读
Serialzable 可串行化

标签: java, Java面试题, MySQL, Java问题合集, MySQL面试题, Java编程, Java问题精选, Java常见问题