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

概念网站源码网页游戏大全排行榜

概念网站源码,网页游戏大全排行榜,中国公司网站建设,东莞东坑网站建设1.Mysql的锁有哪些种类 全局锁, 通过flush tables with read lock 应用场景是全局备份,备份的时候如果有两个表,备份 先备份了用户表,然后用户了商品,再备份商品表 那么商品表库存减少了,然而用户表的育儿…

1.Mysql的锁有哪些种类

  1. 全局锁,
    通过flush tables with read lock
    应用场景是全局备份,备份的时候如果有两个表,备份
    先备份了用户表,然后用户了商品,再备份商品表
    那么商品表库存减少了,然而用户表的育儿没有减少
    但是再可重复读的事务隔离级别可以用mVCC快照机制解决
  2. 表级锁
  • 表锁
    当一个事务锁上表锁之后,它就只能访问自己锁上这个锁的表

  • 元数据锁
    就是锁上表的元数据,出现一个问题就是,当出现长事务的时候,这个时候,他先select了,这个时候获取的是元数据的读锁,然后当另一个事务修改这个元数据的时候,那么就会获得元数据写锁,但是还未获取,会阻塞,申请元数据锁的事务会形成一个队列,所以后续申请元数据读锁(也就是一个select语句都会阻塞)

  • 意向锁
    意向锁是一个表锁,用作于这个快速检查表中是否有这个行级别锁,也就是说,当我进行加入共享锁或者是独占锁的时候对行,我就会对表加入一个意向独占锁,或者是意向共享锁,这样在后续增加表锁的时候就会冲突,不需要遍历所有的表,就可以进行找到数据库的锁情况。然后意向锁和意向锁之间是不会冲突的,所以行级锁还是按照之前的规矩增加

  • auto_inc锁
    用于这个自增数据加锁,目的就是为了确保自增锁的id唯一,不存在这个并发问题。一般来说inc锁是事务级别的,也就是事务提交之后才会对自增锁释放,
    auto_inc锁不是事务级别的而是语句级别的,当插入语句结束之后就释放锁,然后在新的版本中auto_inc锁更加轻量化了,变成了只要对字段赋值之后就会释放锁
    问题:对于insert selcect语句来说,如果加入的是轻量级的说,那么并发事务的事务就会出现问题,然后备份binlog的时候会只会备份语句,在进行同步的时候,会顺序执行,这样就会出现主从数据不一致的情况,所以我们这种情况可以设置binlog的format格式就是row的形式

  1. 行级锁
  • record记录锁
    通过select * form table where xxx for update
    然后之后就是分为共享锁和独占锁,共享锁和共享锁可以共存,但是共享锁和独占锁不能够并存,独占锁和独占锁也不能共存
  • gap锁
    gap可以用来避免幻读,gap锁可以共存
  • next-key锁
    就是一个gap锁加上一个记录锁
  • 插入意向锁
    当某个事务要对某个点插入的时候,就会出现一个什么情况呢
    如果这个时候有gap锁的时候,就会生成插入意向锁进行等待,然后另外同样插入的时候增加到一个插入意向锁,然而因为唯一性约束,第二个插入就不会成功

Mysql锁的具体锁插入过程

  1. 哪些sql语句会加锁
    updata语句和 delete语句会加上X锁,以及select 方法for update会加X锁
  2. 什么时候mysql会加入锁
    首先是select * xxx for update的时候,不是mysql的快照读而是当前读,这个时候会加锁进行读取
    加锁的全部的单位都是next_key锁,然后这个锁的目的主要是防止幻读的,所以当有些时候,不需要加锁也可以避免幻读的话,那么这个锁会退化
    首先是分类
    唯一索引等值查询,查到了,只会加一个记录锁;没查到,那么就加间隙锁

唯一索引范围查询,
小于, 就加上间隙锁加上之前左右的,记录锁以及间隙锁
小于等于,如果查到了,就加上这个值得记录锁,没查到就仍然是这个间隙锁
大于,就是间隙锁加上右边所有的记录锁和间隙锁
大于等于就是查到了就加上这个得记录锁,没查到就是只有当前间隙锁和后面所有间隙锁和记录锁

非唯一索引等值查询
首先是查到了,就会锁当前主键记录说,同时,会根据锁住前后的间隙锁,这个时候就看前后有没有间隙锁来决定能不能插入与该值相等的
然后是没查到,就会加一个间隙锁

非唯一索引范围查询
小于, 就会加上间隙锁,以及左边所有的记录锁以及间隙锁
小于等于,如果查到会加上该值的记录锁,该值后面的间隙锁,以及该值前面所有的记录锁以及间隙锁 如果没有等于的值,也是加上间隙锁以及左边所有数据的记录锁以及间隙锁
大于 就会加上间隙锁,以及右边所有记录的记录锁以及间隙锁
大于等于,也是查到了就记录锁,该记录左边一个间隙锁,当前记录锁,以及后面所有的记录锁以及间隙锁
没查到就是一个间隙锁,以及后面所有的间隙锁以及记录锁

没有索引的情况
就是会扫描全表,对全表锁起来,所以进行update操作的时候一定要加上索引,要不然一个update就会把所有的数据加上锁

  1. 什么时候会造成死锁
    比如第一个select 等值查询 某一个值
    然后他没查到就会将间隙锁锁起来

然后同时第二个selcect也查同样差不多范围的值的时候,也会有一个间隙锁

当第一个事务第二条语句是要插入到该间隙里面的时候,

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

相关文章:

  • 什么是网站建设整体策划方案品展示设计网站
  • 深圳罗湖区网站开发公司aspnet东莞网站建设
  • asp个人网站建设什么样的网站月入一万
  • 网站由那些组成深圳企业网站建设与设计制作
  • 图标的网站博客网站程序
  • 100t空间 做网站广州市花
  • 一二三四影视在线观看免费视频平台网站应该怎样做seo
  • wordpress添加说说功能如何做优化排名
  • 东莞网站建设的公司舆情网站入口
  • 云南专业网站建设成品网站建设流程图
  • 深圳创新网站建设wordpress4.9.6 备案
  • 深圳建设网站公司哪儿济南兴田德润有活动吗wordpress 500错误解决
  • 做网站基本教程营销网络信息化的作用有哪些
  • 高阳网站制作软件外包公司如何接单
  • 飞速网站排名海外推广解决方案
  • 如何注册申请chn网站wordpress按钮字体
  • 聊城做网站公司聊城博达xin主题wordpress
  • 网站推广到海外怎么做吴川网站建设
  • 如何用vps系统搭建企业网站以及邮箱系统企业邮箱有哪几种
  • 网站关键词用什么符号成都比较有名的设计公司
  • 自己有网站怎么做竞价企业为什么网站建设
  • 做网站需要什么许可证网站嵌套代码
  • 页游网白帽seo和黑帽seo
  • 网站业务功能设计网站推广积分
  • 智林东莞网站建设公司加强机关门户网站建设方案
  • 网站在线qq代码宿迁高端网站建设
  • 网站如何添加浮动窗口建筑专业名词网站
  • 杭州专业做网站的公司有哪些企业展示型网站程序
  • 电子配件 技术支持 东莞网站建设wordpress站内优化
  • 张家港网站推广个人建设网站盈利需要什么材料