当前位置:首页 > 日记 > 正文

MySQL数据库事务隔离级别(事务隔离级别)

MySQL数据库事务隔离级别(事务隔离级别)
数据库隔离级别有四种类型,它们在高性能MySQL应用程序中进行了说明。

然后讨论了修改事务隔离级别的方法。

1。全球mysql.ini修改,修改配置文件,并将其添加在最后

复制代码代码如下所示:
#可选参数:read-uncommitted,read-committed,repeatable-read,序列化。
{他}
事务隔离= repeatable-read
全局默认是repeatable-read,MySQL实际上是默认级别

2。对当前会话修改,在登录到MySQL客户机之后,执行命令:
记住,MySQL具有自动提交参数,默认的是,他的角色是单一的查询是一种交易,自动启动,自动提交(结束后,自动执行,如果你想申请选择更新而开始交易,手动调用更新的行锁机制是没有用的,因为行锁被释放在自动提交后),所以事务隔离级别和锁机制,即使你不显式调用开始交易,这一机制在一个单独的分析查询也是适用的,锁操作的时候要注意这一点

然后谈谈锁机制。
共享锁:读取表操作加上锁和锁后,其他用户只能获得表或行的共享锁,不能获得独占锁,也就是说只能读取或写入。

互斥锁:通过写表操作添加的锁。锁定后,其他用户无法获得表或行的任何锁,通常在MySQL事务中。

复制代码代码如下所示:
开始交易;
SELECT * FROM用户userid里= 1更新;
完成这句话后

1)当其他交易想获得一个共享锁,如可串行化的事务隔离级别,执行

复制代码代码如下所示:
从用户中选择*;
它将被挂起因为序列化的SELECT语句需要获取一个共享锁

2)执行其他事务时

复制代码代码如下所示:
SELECT * FROM用户userid里= 1更新;
更新用户设置userage = 100其中UserID = 1;
它也将被挂起,因为更新将获得这一行数据的行锁,并且需要等到上一个事务释放行锁继续为止。

锁的范围:

行锁:锁定一行记录
表锁:锁定整个表

它与行级共享锁、表级共享锁、行级锁和表级锁相结合。

接下来,我们来讨论不同事务隔离级别的实例效果。该示例使用InnoDB开放两个客户端A和B,修改事务隔离级别,公开交易数据和修改B,再看看交易的改性效果在,

1.read-uncommitted(未提交读内容)水平

1)更改事务级别并启动事务,并向用户表查询。

U3000 U3000 U3000

2)B更新记录

U3000 U3000 U3000

3)此时,B事务尚未提交,a在事务中进行查询,并发现查询结果已更改。

U3000 U3000 U3000

4)b执行事务回滚。

U3000 U3000 U3000

5)再次执行查询,查询结果返回。

U3000 U3000 U3000

6)表修改用户表的数据。

U3000 U3000 U3000

7)B在事务之后重新启动,修改用户表记录,修改被挂起直到超时,但另一个数据修改成功,这意味着对用户表数据进行修改以增加额外的共享锁(因为您可以使用select)

U3000 U3000 U3000

read-uncommitted隔离级别可以看出。当两个事务同时进行时,即使事务未提交,修改也会影响事务中的查询。这个级别显然是非常不安全的,但是当表被修改为一行时,行与行共享。

2。read-committed(读提交)

1)设置A的事务隔离级别,并为查询输入事务

U3000 U3000 U3000

2)B启动事务并修改记录。

U3000 U3000 U3000

3)再次查询用户表,并发现记录没有受到影响。

U3000 U3000 U3000

4)提交事务

U3000 U3000 U3000

5)查询用户表并发现记录已被修改。

U3000 U3000 U3000

6)更改用户表

U3000 U3000 U3000

7)B重新启动事务并修改同一个用户表。发现更改暂停到超时,但是另一个记录的修改成功了,表明A的修改增加了一个行共享锁到用户表(因为它可以选择)。

U3000 U3000 U3000

U3000 U3000 U3000

对read-committed事务隔离级别只会在提交后交易的另一个交易的影响,并添加一个行共享行表数据行时修改表。

三.REPEATABLE-READ (reread)

1)设置事务隔离级别,在进入事务后查询一次

U3000 U3000 U3000

2)B启动事务并修改用户表。

U3000 U3000 U3000

3)查看用户表的数据,而数据没有改变。

U3000 U3000 U3000

4)提交事务

U3000 U3000 U3000

5)再次查询,结果仍然没有改变。

U3000 U3000 U3000

6)提交事务后,对结果进行评审,并对结果进行更新。

U3000 U3000 U3000

7)重启事务并修改用户表。

U3000 U3000 U3000

U3000 U3000 U3000

8)B表重新启动事务并修改用户表。修改暂停到超时,并且成功地修改了其他记录。它表明,当更改表时,会添加行共享锁(select)。

U3000 U3000 U3000

U3000 U3000 U3000

repeatable-read事务隔离级别。当两个事务同时进行时,一个事务修改数据不会影响另一个事务。即使已提交修改过的事务,也不会影响其他事务。

事务中的记录的更改将在行结束时添加到行共享锁中,直到事务结束。

4.serierlized(序列化)

1)修改A的事务隔离级别并进行查询

U3000 U3000 U3000

2)B查询表以得到正常的结果,我们可以看到对用户表的查询可以完成。

U3000 U3000 U3000

3)B启动事务并修改记录,因为事务未提交,因此B的修改处于等待状态,等待事务完成,最后超时,这表明在对用户表进行查询操作之后,a将共享锁添加到表中。

U3000 U3000 U3000

可序列化事务隔离级别是最严重的。在查询时,它将向表或行添加共享锁。其他事务只读取表上的操作,但不写操作。

相关文章

轻松管理PPT幻灯片的节点功能

轻松管理PPT幻灯片的节点功能

节点,幻灯片,轻松,功能,电脑软件,如果信息太多,演示者是否会产生清晰的思想脉络页面之间的逻辑关系是第一和错误的,它们总是相同的。所有这些都与观众对演示者意图的理解有关。你能在PPT模板下分辨出你想要什么吗 理解和合理使用powerpoint20…

详细的Win8.1C溶液的空间越来越小

详细的Win8.1C溶液的空间越来越小

空间,溶液,情况下,详细,电脑软件,点评:从Win8升级到Win8.1,产生大量垃圾文件,特别是Windows.old的旧系统备份文件,几个G之多,这需要Win8.1到C,C的空间越来越小,下面小编教你4招清理Win8.1系统C方法 现在有很多电脑爱好者朋友将Win8通过App Store免…

oracle中非等位数的分析

oracle中非等位数的分析

中非,位数,电脑软件,oracle,oracle中的非等数: 在Oracle, =! ~ = ^ 所有都不等于数字的意思,可以用。 但奇怪的是,我想提出的价格不是180000:(价格是数字类型) 从价格低于180000的产品中选择ID; 当这个语句被执行,价格的零记录不出来,价格是一个产品,…

Win8或Win8.1屏幕截图是零或自动保

Win8或Win8.1屏幕截图是零或自动保

屏幕截图,自动保存,桌面系统,桌面,系统,点评:使用Win + PrintScreen自动在当前系统的屏幕截图文件夹保存全屏截图。我们要达到零的关键或自动保存桌面,我们怎么做这是一个好方法,你可以参考下一个 Windows下的全屏截图如何对我们来说,最常用的…

对建设VirtualBoxMySQL测试环境说

对建设VirtualBoxMySQL测试环境说

测试环境,电脑软件,VirtualBoxMySQL,网络环境: 主持人:win7 VirtualBox 4.1.4 + Ubuntu 11.10服务器64bit 当主机使用的网络线,客户端采用Atheros ar8131 PCI-E千兆以太网控制器冲浪在桥接网络适配器模式。 当主机的主机使用无线客户端可以桥…

QQ空间首页工具栏上音乐播放控件的

QQ空间首页工具栏上音乐播放控件的

音乐播放,首页,控件,工具,空间,QQ空间首页工具栏上音乐播放控件的功能是什么 工具栏上音乐播放控件的主要功能如下: 1,播放音乐,暂停播放,可以显示歌曲名; 2点,打开拉箭头可以显示音乐播放列表; 3,如果你独自一人在空间去拜访朋友,你也可以设置…

文件格式GPK是什么GPK是游戏格式(溶

文件格式GPK是什么GPK是游戏格式(溶

溶液,文件格式,格式,游戏,电脑软件,GPK格式打包的游戏格式的拇指游戏Android游戏。这种格式封装APK游戏数据包在一起,和完成过程安装apk和数据包通过拇指玩安卓游戏安装程序,非常方便。也可以直接用来解压缩的解压缩软件,然后重新安装。 GPK…

在黑屏幕上玩游戏的电脑不能玩黑色

在黑屏幕上玩游戏的电脑不能玩黑色

动作游戏,玩游戏,黑色,屏幕上,电脑软件,问题: 我的电脑配置为AMD 4核心处理器,NVIDIA GeForce gtx550ti 4GB内存卡,金斯顿。你可以运行使命9召唤:黑色行动2游戏,电脑出现黑屏现象的原因是什么 答案uff1a 从你的电脑配置,这是绝对有可能运行的黑…

Oracle使用脚本来修改表结构

Oracle使用脚本来修改表结构

脚本,表结构,修改,电脑软件,Oracle,Oracle可以通过以下脚本修改表结构。 复制代码代码如下所示: 修改表table_name 添加col_name VARCHAR2(2000); 复制代码代码如下所示: 修改表tabke_name 降柱col_name;…

蒙牛官网首页经常被黑客黑刷小时

蒙牛官网首页经常被黑客黑刷小时

黑客,官网,首页,蒙牛,小时,近日,Mengniu的官方主页经常被黑客攻击,黑刷长达数小时。律师称黑客的行为侵犯了Mengniu的民权。 当网站刷,蒙牛官方网站打开,和网站的设计已由原来的蓝色天空和草地取代。黑客留言称Mengniu 使他们的家庭;。 Mengniu…

对rds.exe-使用RDS是什么

对rds.exe-使用RDS是什么

电脑软件,rds,exe,RDS,点评:rds.exe是trojanspy.win32.delf键盘记录木马 进程文件:RDS或rds.exe 进程名称:trojanspy.win32.delf键盘记录 过程类别:安全风险的过程 英文描述: rds.exe进程是注册为trojanspy.win32.delf键盘记录。该恶意程序允…

什么样的角色,mgaqdesk.exe工艺对mg

什么样的角色,mgaqdesk.exe工艺对mg

查询,角色,工艺,电脑软件,exe,点评:mgaqdesk.exe是Matrox显示卡相关程序 进程文件:mgaqdesk或mgaqdesk.exe 进程名称:Matrox快速桌 过程类别:安全风险的过程 英文描述: mgaqdesk.exe安装与Matrox图形设备和特定的交易的交易,它也被称为对与错。…