hangkk2008

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

mysql数据库,当且仅当引擎是InnoDB,才支持事务;

 

1、隔离级别

事务的隔离级别分为:未提交读(read uncommitted)、已提交读(read committed)、可重复读(repeatable read)、串行化(serializable)。

未提交读

A事务已执行,但未提交;B事务查询到A事务的更新后数据;A事务回滚;---出现脏数据未提交读

 

已提交读

A事务执行更新;B事务查询;A事务又执行更新;B事务再次查询时,前后两次数据不一致;---不可重复读

 

可重复读

A事务无论执行多少次,只要不提交,B事务查询值都不变;B事务仅查询B事务开始时那一瞬间的数据快照;

 

串行化

不允许读写并发操作,写执行时,读必须等待;

//查看当前事物级别:
SELECT @@tx_isolation;

//设置read uncommitted级别:
set session transaction isolation level read uncommitted;

//设置read committed级别:
set session transaction isolation level read committed;

//设置repeatable read级别:
set session transaction isolation level repeatable read;

//设置serializable级别:
set session transaction isolation level serializable;

 

 

posted on 2020-02-03 21:20  鱼儿也疯狂  阅读(194)  评论(0)    收藏  举报