不得不说,无论是常年与数据打交道的数据分析师和数据科学家,经常需要管理和维护数据库的数据库管理员,还是是需要了解嵌入式数据库的移动开发工程师,都免不了与SQL打交道。
事务并发的几类问题:
1.脏读:一个事务可以读到另一个事务未提交的结果,所有的并发事务问题都会发生。
2.不可重复读:在一个事务中多次读取同一个数据时,结果出现不一致。因为另外一个事务在对此记录进行 update 操作。
3.幻读:在一个事务中使用相同的 SQL 两次读取,第二次读取到了其他事务新插入的行。
4.丢失更新:所有事务依次逐个执行,所以可以解决并发事务的所有问题。
事务的隔离级别:
1. 读未提交:什么都没做,上面的一个问题都没解决;
2. 读提交:只解决了上面的第一个问题;
3. 可重复读:解决了 1.2 和部分 3 问题,MySQL 默认采用可重复读隔离级别;
4. 串行化:完全解决上面 4 个问题。
好了,今天的文章分享就到这里了,希望对大家的学习有帮助哦!