栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

mysql中的并行事务

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql中的并行事务

这完全取决于

ISOLATION LEVEL
您设置的。

您可以看到使用此查询设置了哪一个:

select @@global.tx_isolation, @@session.tx_isolation;

在解释不同的隔离级别之前,让我解释一下他们试图避免哪些问题:

  • 脏读 :一个尚未完成交易的数据被另一个事务读取。

  • 丢失更新 :两个事务修改表中的并行条目。当两个事务完成时,仅应用一个修改。

  • 不可重复读 :读Reoccuring导致不同的结果。

  • 幻读 :一个事务其他事务添加,删除或修改表条目在。

现在针对不同的隔离级别。

读未提交
使用此隔离级别,读操作将忽略任何类型的锁,因此可能发生上述任何问题。

已提交读
此隔离级别为应修改的对象的整个事务设置了写锁定。读取锁仅在读取数据时设置。因此,可能发生不可重复的读取和幻像读取。

重复读取
通过这种隔离级别,可以确保当参数相同时,重复发生的读取操作始终会产生相同的结果。在事务的总持续时间内,为读写操作设置了锁定。因此,只能进行幻像读取。

可序列化
最高的隔离级别确保并行运行的事务的结果与事务将一个接一个地运行的结果相同。大多数数据库并没有真正一个接一个地运行这些事务,这会造成性能损失。因此,可能发生一项事务中止的情况。例如,MySQL通过MVCC(多版本并发控制)实现了这一点。如果您想了解更多,请使用Google。这个答案太多了。

此表中的所有内容也对此进行了解释:

      | Lost updates | Dirty Read | Non-Repeatable Read | Phantom Read---------------------------------------------------------------------------------Read Uncommitted | possible     | possible   | possible | possibleRead Committed   | impossible   | impossible | possible | possibleRepeatable Read  | impossible   | impossible | impossible          | possibleSerializable     | impossible   | impossible | impossible          | impossible
  • 在本手册中,有更多有关它以及如何设置隔离级别的信息。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/372358.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号