事务并发引发的问题

脏读:事务A读取了事务B未提交的事务

事务B修改数据后,并没有提交,这个时候事务A就查到了修改后的数据,这就是脏读。

 

不可重复读:事务A多次读取同一份数据,发现结果不一样。这是因为在两次读取的间隔中,事务B提交了update操作。

 update 和delete会造成不可重复读的现象。

幻读:事务A进行了一个查询语句,发现只有一条数据,当事务B进行insert操作并提交后,事务A再次查询,发现多了一条数据。即为幻读。

 

事务并发带来的三大问题,无论是脏读,不可重复读,还是幻读,它们都是数据库的读一致性的问题,都是在一个事务里面前后两次读取出现了不一致的情况.

不可重复读主要是由于upate和delete 操作引发的,幻读主要是由于insert操作引发的。


版权声明:本文为weixin_51676493原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。