【数据库篇11】mysql优化-并发事务问题

19 阅读1分钟

并发事务带来哪些问题?怎么解决这些问题?Mysql的默认隔离级别?

并发事务将带来:脏读、不可重复读、幻读问题;解决方案是采用事务隔离,事务隔离有:读未提交、读已提交、可重复度、串行化这些隔离级别。

并发事务问题

  • 脏读:一个事务读到另一个事务还未提交的数据
  • 不可重复读:一个事务先后读取同一条记录,但两次读取的数据不同,称之为不可重复读
  • 幻读:一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在,好像出现了幻影。 image.png

脏读:另一个事务读取到这个事务未提交的数据

image.png

不可重复读:多次查询到的数据不一样

image.png

幻读:查询时没有数据,插入数据时失败报错

事务隔离

image.png

事务隔离级别越高,数据越安全,但性能越低

数据库默认:可重复读