当前位置: 首页 > news >正文

做网站公司599wordpress gold

做网站公司599,wordpress gold,英文网站建设注意什么,福州做网站改版哪里比较好死锁的产生条件 互斥、请求和保持、不可剥夺、循环等待 MySQL锁类型 死锁复现 环境#xff1a;Mysql 5.7版本#xff0c;Innodb引擎#xff0c;可重复度隔离级别 并发场景下使用duplicate key update插入或更新数据可能会造成死锁#xff0c;下面就产生死锁的条件进行模…死锁的产生条件 互斥、请求和保持、不可剥夺、循环等待 MySQL锁类型 死锁复现 环境Mysql 5.7版本Innodb引擎可重复度隔离级别 并发场景下使用duplicate key update插入或更新数据可能会造成死锁下面就产生死锁的条件进行模拟 表 CREATE TABLE song_rank (id int(11) NOT NULL AUTO_INCREMENT,songId int(11) NOT NULL,weight int(11) NOT NULL DEFAULT 0,PRIMARY KEY (id),UNIQUE KEY songId_idx (songId) USING BTREE ) ENGINEInnoDB AUTO_INCREMENT7 DEFAULT CHARSETutf8隔离级别可重复度RR select tx_isolation;预先插入两条数据 idsongIdweight1103022030 关闭事务自动提交 select autocommit; set autocommit0;死锁场景一 记录锁循环等待如果两个事务并发读写相同行会由于加锁时机的不同而造成死锁导致其中一个事务执行失败mysql可以配置自动检测死锁然后自动断开其中一个innodb_deadlock_detect ## 事务一 # 第一步执行 begin; insert into song_rank(songId,weight) values(17,100) on duplicate key update weightweight1; # 第三步执行 insert into song_rank(songId,weight) values(16,100) on duplicate key update weightweight1;## 事务二 # 第二步执行 begin; insert into song_rank(songId,weight) values(16,100) on duplicate key update weightweight1; # 第四步执行 insert into song_rank(songId,weight) values(17,100) on duplicate key update weightweight1;执行步骤事务一事务二锁状态第一步begin; insert into song_rank(songId,weight) values(17,100) on duplicate key update weightweight1;事务一对17新增记录锁第二步begin;insert into song_rank(songId,weight) values(16,100) on duplicate key update weightweight1;事务二对16新增记录锁第三步insert into song_rank(songId,weight) values(16,100) on duplicate key update weightweight1;事务一等待事务二释放16的记录锁第四步insert into song_rank(songId,weight) values(17,100) on duplicate key update weightweight1;事务二等待事务一释放17的记录锁出现死锁 死锁场景二 记录锁、间隙锁循环等待在并发插入、更新同一条数据时一个事务获取了记录锁一个事务在等待记录排他锁则事务在执行插入获取间隙锁是会造成死锁。 # 事务一 # 第一步执行 begin; insert into song_rank(songId,weight) values(17,100) on duplicate key update weightweight1; # 第四步执行 rollback# 事务二 # 第二步执行 begin; insert into song_rank(songId,weight) values(17,100) on duplicate key update weightweight1;# 事务三 # 第三步执行 begin; insert into song_rank(songId,weight) values(17,100) on duplicate key update weightweight1; # 出现死锁 执行步骤事务一事务二事务三锁状态第一步begin; insert into song_rank(songId,weight) values(17,100) on duplicate key update weightweight1;事务一对17新增记录锁第二步begin;insert into song_rank(songId,weight) values(17,100) on duplicate key update weightweight1;事务二等待17记录锁第三步begin;insert into song_rank(songId,weight) values(17,100) on duplicate key update weightweight1;事务三等待17的记录锁第四步rollback;事务二获取17记录锁事务三等待17记录锁事务一获取间隙锁时需要等待事务三释放17记录锁出现死锁 避免死锁 控制并发写入和更新 先执行插入捕获插入异常并处理更新数据
http://www.zqtcl.cn/news/651312/

相关文章:

  • 有关网站建设合同wordpress 使用
  • 外贸商城网站制作公司毕业设计做系统网站
  • 曲阜住房城乡建设局网站php用什么工具做网站
  • 深圳网站开发奇辰科技视觉vi设计系统
  • 网站开发与管理期末考试工商年检在哪个网站做
  • 网站建设有什么系统深圳微网站
  • 网站建设算什么专业企业建设网站需要注意什么
  • 太原cms建站模板建设部网站监理注销查询
  • 流量对网站排名的影响因素网站内容的作用
  • 彩钢做网站能赚钱吗合肥市住房和城乡建设厅
  • 顺德网站建设itshunde罗村建网站
  • 网站开发语言开发十大免费货源网址
  • 网站建设要那些收费项如何做自己的淘客网站
  • 郴州文明网网站网站设计策划书3000字
  • 免费学习资源网站网站维护得多久
  • 电子商务网站建设考试重点长沙网站推广平台
  • 商业性质网站建设步骤佛山企业网站优化
  • 做网站投入网站设计与开发未来发展方向
  • 网站seo优化外包顾问网站ip解析
  • 贵阳建网站公司兼职网站推广如何做
  • 建设企业网站公司价格page做网站
  • 直播网站建设模板跨境电商选品
  • 购物网站有哪些shop++是什么
  • 自动化优化系统网站建设网站建设类文章
  • 网站建设以及推广提案书支付通道网站怎么做
  • 上海兼职做网站凤凰军事新闻
  • 青田建设局网站ui培训哪好
  • 佛山网站seo哪家好全返网站建设
  • 快速建站哪个平台好常见网页设计
  • 织梦网站地图模板网站服务费