在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

MySql类型转换导致行锁升级为表锁的示例

121次阅读
没有评论

共计 962 个字符,预计需要花费 3 分钟才能阅读完成。

自动写代码机器人,免费开通

丸趣 TV 小编给大家分享一下 MySql 类型转换导致行锁升级为表锁的示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

在 MySql 的写语句中,给表列赋值与表类型不符合时,MySql 底层的优化器发挥作用,会做一个强制类型转化,此时能正常操作,但会导致行锁升级为表锁。示例如下

以 student 表为例,表字段类型:
MySql 类型转换导致行锁升级为表锁的示例 表内容如下:
MySql 类型转换导致行锁升级为表锁的示例

打开两个 session 会话窗口,并把两个会话窗口中的 MySql 的自动提交模式改为手动提交

set autocommit=false;

MySql 类型转换导致行锁升级为表锁的示例 在会话窗口 1 中执行更新语句,但不提交事务。age 列在建表时指定的是 int 类型,此地更新语句中用字符串’100’进行赋值,在 MySql 的优化器中会自动把字符串’100’强制转化为整形 100,然后再执行 SQL 检索。

update student set  >

然后再会话窗口 2 中对另外没关系的数据执行更新操作

 update student set age=28 where name= lzj

正常情况下,两条 SQL 语句操作的行数据不同,执行起来会互不影响,但实际会话 1 中的更新操作阻塞了会话 2 中的更新操作
MySql 类型转换导致行锁升级为表锁的示例 会话 1 中执行了更新操作,但没有执行事务提交,事务的隔离级别为 Read Committed,所以在会话 2 中还看不到会话 1 中更新后的结果。但在回话 2 中执行对其它行数据更新操作时,出现了阻塞。可见会话 1 中的 SQL 语句的赋值出现了强转,导致会话 1 由行锁升级为表锁,锁住了整个 student 表,因而会话 2 中的 SQL 阻塞。下面对会话 1 中的更新操作执行事务提交,那么会话 2 中的更新操作就会继续执行了
MySql 类型转换导致行锁升级为表锁的示例 对会话 1 中的更新操作执行 commit 手动提交事务后,会话 1 释放掉 student 的表锁,会话 2 中的更新操作可以继续执行。
最后对会话 2 中的更新也执行 commit 事务提交,两条 SQL 都更新完毕,student 表内容如下:
MySql 类型转换导致行锁升级为表锁的示例

从上述案例观知,SQL 语句赋值与表列类型不匹配时,MySql 的优化器强制转化为匹配的类型,导致行锁升级为表锁。所以开发中一定要注意类型的匹配,避免行锁升级为表锁,影响并发性能。

看完了这篇文章,相信你对“MySql 类型转换导致行锁升级为表锁的示例”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-16发表,共计962字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 99视频免费观看 | 天堂…中文在线最新版在线 | 香蕉成人伊视频在线观看 | 美女性爽视频国产免费 | 美女被视频网站在线看九色 | 少妇伦子伦情品无吗 | 国产久爱青草视频在线观看 | 国产精品天天看天天狠 | 农夫在线精品视频免费观看 | 久久99热这里只有精品高清 | 伊人久久网国产伊人 | 免费在线色 | 国产精品欧美日韩视频一区 | 免费人成网站在线观看不卡 | 欧美毛片| 亚洲另类小说图片 | 蜜臀av在线播放一区二区三区 | 久久成人精品视频 | 免费碰碰视频 | 久久最新网址 | 欧美一区内射最近更新 | 国产一区二区三区在线观看视频 | 国产精品久久新婚兰兰 | 久久久久人妻精品一区二区三区 | 久久性色欲av免费精品观看 | 日韩 欧美 自拍 | 欧美特黄特色三级视频在线观看 | 欧美成在人线a免费视频 | 伊人狠狠| 免费国产视频 | 国产人成久久久精品 | 娇妻玩4p被三个男人伺候电影 | 国产视频不卡在线 | 亚洲熟妇无码一区二区三区 | 午夜视频在线观看国产www | 国产成人综合久久精品尤物 | 国产成人18黄网站免费网站 | 亚洲热妇无码av在线播放 | 国产精品igao视频 | 日日夜夜嗷嗷叫 | 亚洲人成中文字幕在线观看 |