事务的ACID特性:
原子性
一致性
隔离性
持久性
数据库事务并发问题:
脏读:读到了另一个事务更新但是还未提交的数据
------》读到假数据
不可重复读:第一次读取之后,另一个事务提交了更新,第二次读取与第一次读取的数据不一致(单行数据更改)
------》一个事务内,同样的sql读取到的数据不一致
幻读:第一次读取之后,另一个事务对数据库数据新增或者删除了一行,导致第二次读取的时候发现新增或者减少了一行,仿佛出现幻觉(一整行数据的增加与删除)
-----》一个sql执行之后的影响条数与预期不一致
事务的隔离级别:
读未提交
读已提交 --》解决脏读
可重复度---》解决脏读、不可重复读
串行化 -----》解决脏读、不可重复读、幻读
隔离级别越高,带来的性能影响越大,类似线程的锁机制