主页 > 知识库 > [Oracle] 浅谈Lock与Latch

[Oracle] 浅谈Lock与Latch

热门标签:美图秀秀地图标注 征服者火车站地图标注 外呼线路外显本地号码 开封智能外呼系统厂家 word地图标注方向 百度地图标注素材 人工智能地图标注自己能做吗 阿尔巴尼亚地图标注app 征服眼公司地图标注

首先谈谈它们的共同点吧:它们本质上都是一种对资源的独占锁定,都是由并发引起(如果数据库只有一个session,就谈不上锁定)。

接着着重谈谈它们的不同点:

首先,它们的目的不一样,enqueue (即Lock,Oracle官方文档混合使用这两个名词,在等待事件里,可以看到大量的enqueue,其实就是lock)是为了解决业务层面的数据争用,而latch是为了解决内存资源的争用。

其次,它们的运行方式不一样,enqueue采用排队方式,先到先得,而latch的竞争近乎无序,以一种随机的方式,先到不一定先得,得靠抢,而且它还以一种时间片轮训的方式,不会一直霸占,即时还没运行完,时间片一到也。

第三,会话持有的时长不一样,enqueue根据业务情况,可能会持有较长时间,而latch通常非常短。第四,引起的原因不一样,enqueue太多通常是业务设计的问题,而latch过多,一般是数据库层面的问题(如未使用绑定变量、表或索引热块等)。

标签:六安 泰安 孝感 淮南 酒泉 葫芦岛 宜春 海北

巨人网络通讯声明:本文标题《[Oracle] 浅谈Lock与Latch》,本文关键词  Oracle,浅谈,Lock,与,Latch,Oracle,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《[Oracle] 浅谈Lock与Latch》相关的同类信息!
  • 本页收集关于[Oracle] 浅谈Lock与Latch的相关信息资讯供网民参考!
  • 推荐文章