专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

并发控制

事务是并发控制的基本单位,为了保证事务的隔离性和一致性,需要对并发操作进行正确的调度。

1、并发操作带来的不一致问题:

(1)丢失修改:

两个事务读取同一个数据,并对该数据进行修改,T1提交的数据破坏了T2提交的数据,即后提交的数据覆盖了先提交的数据,导致先提交的数据结果被覆盖了。

(2)不可重复读:

事务T1读取到某一数据后,事务T2对该数据进行了修改,当T1再次读取该数据的时候发现数据已经改变。

(3)读脏数据:

事务T1读取到某一数据并对其修改,T2读取到了修改后的数据,但是由于某种原因,T1被撤销,T2读取到的数据与T1的实际值存在不一致。

即:事务T2读取到了T1尚未提交的数据。

2、数据库的封锁:

封锁是实现并发控制的重要技术。

read uncommitted : 读取尚未提交的数据

read committed:读取已经提交的数据 ,可以解决脏读 ,oracle默认的级别。

repeatable read:重读读取,可以解决脏读 和 不可重复读 ,mysql默认的级别。

serializable:串行化,可以解决 脏读 不可重复读 和 丢失修改,相当于锁表,会使得数据库的效率极低。

(1)查询mysql数据库的隔离级别:

SELECT @@tx_isolation

109_1.png

即:mysql数据库的默认封锁级别是:repeatable read

(2)mysql数据库的隔离级别的修改:

SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED

109_2.png

即:在mysql数据库中不会出现脏读 和 不可重复读的现象。

文章永久链接:https://tech.souyunku.com/23332

未经允许不得转载:搜云库技术团队 » 并发控制

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们