MySQL的四种事务和隔离级别
2019-02-15 本文已影响10人
任嘉平生愿
事务属性:ACID
隔离级别:
读未提交
set session transaction isolation level read uncommitted;
start transaction;
意思是当有事务还没有,提交但是做了更新操作就可以读,所以当事务回滚的话会造成脏读。
读已提交
这个效率是最慢的但是也是最安全的。
可重复读
当前读取状态select会读快照,而update等会读当前版本,所以不影响一致性。
串行化
当有再读的就不可以做update,否则会锁表。
幻读
假设我需要读两遍数据库,我第一次读到数据,好,这个时候你开始写的事务,因为你地位高我就等你写完再读,这下可想而知数据被改了,在读的时候与第一次读到的数据就不一样了。