mysql针对单表设置隔离_mysql隔离级别表

本文详细介绍了MySQL中的四种事务隔离级别:脏读、不可重复读、幻读及其概念。在默认的可重复读(Repeatable read)级别下,InnoDB已经能够满足SQL标准的串行化(Serializable)级别隔离。可以通过`SET TRANSACTION ISOLATION LEVEL`语句改变事务的隔离级别,例如:`SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ`。了解并正确设置事务隔离级别对于确保数据一致性至关重要。
摘要由CSDN通过智能技术生成

隔离级别脏读(Dirty Read)不可重复读(NonRepeatable Read)幻读(Phantom Read)未提交读(Read uncommitted)可能可能可能

已提交读(Read committed)不可能可能可能

可重复读(Repeatable read)不可能不可能可能

可串行化(Serializable )不可能不可能不可能脏读:一个事务读取到了另外一个事务没有提交的数据;

比如:事务T1更新了一行记录的内容,但是并没有提交所做的修改。事务T2读取到了T1更新后的行,然后T1执行回滚操作,取消了刚才所做的修改。现在T2所读取的行就无效了;

不可重复读:在同一事务中,两次读取同一数据,得到内容不同;

比如:事务T1读取一行记录,紧接着事务T2修改了T1刚才读取的那一行记录。然后T1又再次读取这行记录,发现与刚才读取的结果不同。这就称为“不可重复”读,因为T1原来读取的那行记录已经发生了变化;

幻读:同一事务中,用同样的操作读取两次,得到的记录数不相同;

比如:事务T1读取一条指定的WHERE子句所返回的结果集。然后事务T2新插入 一行记录,这行记录恰好可以满足T1所使用的查询条件中的WHERE子句的条件。然后T1又使用相同的查询再次对表进行检索,但是此时却看到了事务T2刚才插入的新行。这个新行就称为“幻像”,因为对T1来说这一行就像突然出现的一样。

隔离级别越低,事务请求的锁越少或保持锁的时间就越短。InnoDB存储引擎默认的支持隔离级别是REPEATABLE READ;在这种默认的事务隔离级别下已经能完全保证事务的隔离性要求,即达到SQL标准的S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值