1.MySQL的事务隔离级别
read uncommited
A事务可以在B事务提交前看到其改动,但这改动有可能不会被B事务提交,会导致dirty read脏读现象(即读到了脏数据)
read commited
A事务只能读到B事务提交后的改动,但是这会导致A事务执行同一句SQL在两个时间点(B提交前和B提交以后)会产生不同效果
read repeatable
A事务可以重复的执行同一句,返回的是同样的效果。等A事务提交后,就可以看到B事务提交后的改动。这有可能会导致幻读,也就是你在A事务得到的执行效果很有可能在实际中已经被改了,但是你只能等你事务结束了才感知到。 这个mysql通过版本控制等已经解决。
serializable
最高隔离级别,将事务进行排序,不会发生任何冲突,成为串行的任务了,也就不用解决并发问题了。