mysql数据库事务
关键名词解释
-
脏读 在本事务中,读取到了其他事务未提交的部分。
-
不可重复读 在一个事务中,读取的数据会变化。比如第一次读到了name=‘1’,第二次读到name=‘2’,因为中间别的事务update又提交了,造成了单一事务中两次读取会变化。这里的变化不是针对一个查询语句,而是针对一行数据。
-
幻读 也是两次的查询结果不一致。第一次查询有10条记录,第二次查询有11条。因为在两次查询中间别的事务insert了数据。因为mysql解决不可重复读用的方式是MVCC(multi-version concurrenty control),是当行维度的多版本并发控制。
事务级别
- Read-uncommited 读未提交
- Read-commited 读提交
- Read-Repeatalbe 可重复读 (默认)
- SERIALIZABLE 串行