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

网站技术制作流程图为什么收不到自己网站

网站技术制作流程图,为什么收不到自己网站,世界500强企业排名2022最新名单,wordpress占用带宽共享锁 (lock in share mode) 简介 允许不同事务之间加共享锁读取,但不允许其它事务修改或者加入排他锁 如果有修改必须等待一个事务提交完成,才可以执行,容易出现死锁 共享锁事务之间的读取 session1: start transaction; select * from…

共享锁 (lock in share mode)

简介
允许不同事务之间加共享锁读取,但不允许其它事务修改或者加入排他锁
如果有修改必须等待一个事务提交完成,才可以执行,容易出现死锁

共享锁事务之间的读取

session1:

start transaction;
select * from test where id = 1 lock in share mode;

session2:

start transaction;
select * from test where id = 1 lock in share mode;

此时 session1 和 session2 都可以正常获取结果,那么再加入 session3 排他锁读取尝试

session3:

start transaction;
select * from test where id = 1 for update;

在 session3 中则无法获取数据,直到超时或其它事物 commit

超时报错信息如下:

Lock wait timeout exceeded; try restarting transaction

共享锁之间的更新

当 session1 执行了修改语句:
session1:

update test set name = 'zzz' where id = 1;

可以正常获取执行结果。
当 session2 执行修改 id=1 的语句时:

session2:

update test set name = 'zzz' where id = 1;

就会出现死锁或者锁超时

超时报错信息如下:

Deadlock found when trying to get lock; try restarting transaction

或者

Lock wait timeout exceeded; try restarting transaction

必须等到 session1 完成 commit 动作后,session2 才会正常执行,如果此时多个 session 并发执行,可想而知出现死锁的几率将会大增。

session3 则更不可能

总结

mysql 共享锁 (lock in share mode)

  • 允许其它事务也增加共享锁读取
  • 不允许其它事务增加排他锁 (for update)
  • 当事务同时增加共享锁时候,事务的更新必须等待先执行的事务 commit 后才行,如果同时并发太大可能很容易造成死锁

共享锁,事务都加,都能读。修改是惟一的,必须等待前一个事务 commit,才可以

排他锁 (for update)

简介
当一个事务加入排他锁后,不允许其他事务加共享锁或者排它锁读取,更加不允许其他事务修改加锁的行。

排他锁事务之间的读取

同样以不同的 session 来举例
session1:

start transaction;
select * from test where id = 1 for update;

可以正常获取执行结果。

session2:

start transaction;
select * from test where id = 1 for update;

当 session1 执行完成后,再次执行 session2,此时 session2 也会卡住,无法立刻获取查询的数据。直到出现超时

Lock wait timeout exceeded; try restarting transaction

或 session1 commit 才会执行

那么再使用 session3 加入共享锁试试

select * from test where id = 1 lock in share mode;

结果也是如此,和 session2 一样,超时或等待 session1 commit

Lock wait timeout exceeded; try restarting transaction

排他锁之间的更新

当在 session1 中执行 update 语句:

update test set name = 123 where id = 1;

可以正常获取执行结果。

Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

此时在 session2 中执行修改

update test set name = 's2' where id = 1;

则会卡住直至超时或 session1 commit, 才会正常吐出结果

session3 也很明显和 session2 一样的结果,这里就不多赘述

总结

  • 事务之间不允许其它排他锁或共享锁读取,修改更不允许
  • 所有事务中有一个排他锁执行 commit 之后,其它事务才可执行

不允许其它事务增加共享或排他锁读取。修改是唯一的,必须等待前一个事务 commit,才可以

http://www.yayakq.cn/news/600509/

相关文章:

  • 视频分享网站怎么做深圳地质建设网站
  • 防止入侵网站wordpress仿google
  • 重庆网站建设公司排名简述建设网站的基本流程
  • 江苏建湖网站建设电影网站建站
  • 做公司网站需要了解哪些东西龙岩做网站推广
  • 河北网站制作 网站开发网站开发要用到的工具
  • 网站建设的意义与价值平台推广员
  • 域名备案和网站备案是一回事吗开设赌场罪建设网站
  • 网站视频封面怎么做南宁seo平台费用
  • 做网站的颜色搭配wordpress 猫
  • 我的网站是面向全国的选哪个公司的服务器比较好影响seo排名的因素有哪些
  • 互联网网站建设水平网络营销成功的企业
  • 网站群建设方案.doc个人免费域名空间建站
  • 提供邢台企业做网站分销网络建设
  • 西安网站建设品牌公司推荐上海万网网站建设
  • 台州网站排名公司深圳宝安区是富人区吗
  • 手机自适应网站源码2023年小微企业所得税
  • 广州那里有学做拼多多网站的个人网站建设模板简洁图片
  • seo网站优化流程大河网
  • 广元做网站wordpress主题helpdesk
  • 深圳网络公司做网站四川做网站的公司哪家好
  • 网站的论坛怎么做的手机蓝牙app制作教程
  • 用笔记本做网站北京商场恢复营业
  • 新建网站费用色盲能治好吗
  • 邢台网站优化服务平台wordpress精品插件
  • 国内炫酷的网站首页外网访问不了内网建设的网站
  • 公司网站重新备案录像网站怎么做
  • 成都市建设工程交易中心网站海南科技职业大学教务网络管理系统
  • 外贸建站应该怎么做c 网站开发案例源码
  • 陕西的建设厅官方网站快速提升网站排名