Latch和Lock的区别
发表于:2025-01-29 作者:千家信息网编辑
千家信息网最后更新 2025年01月29日,Latch是Oracle提供的轻量级锁资源,他用于快速,短时间的锁定资源,防止多个并发进程同时修改访问某个共享资源,他只工作在内存中, 我们可以不大准确的说,内存中资源的锁叫latch,数据库对象(表
千家信息网最后更新 2025年01月29日Latch和Lock的区别
Latch是Oracle提供的轻量级锁资源,他用于快速,短时间的锁定资源,防止多个并发进程同时修改访问某个共享资源,他只工作在内存中, 我们可以不大准确的说,内存中资源的锁叫latch,数据库对象(表,索引等)的锁叫Lock。比如数据缓存中的某个块要被读取,我们会获得这个块的 latch,这个过程叫做pin,另外一个进程恰好要修改这个块,他也要pin这个块,此时他必须等待,当前一个进程释放latch后才能pin住,然后 修改,如果多个进程同时请求的话,他们之间将出现竞争,没有一个入队机制,一旦前面进程释放所定,后面的进程就蜂拥而上,没有先来后到的概念,这个和 Lock是有本质区别的,这一切都发生的非常快,因为Latch的特点是快而短暂,当然这个只是大致过程,细节部分在后面讨论 先来看下Latch和Lock的区别, 1. Latch是对内存数据结构提供互斥访问的一种机制,而Lock是以不同的模式来套取共享资源对象,各个模式间存在着兼容或排斥,从这点看出,Latch 的访问,包括查询也是互斥的,任何时候,只能有一个进程能pin住内存的某一块,幸好这个过程是相当的短暂,否则系统性能将没的保障,现在从9I开始,允 许多个进程同时查询相同的内存块,但性能并没有想象中的好。 2. Latch只作用于内存中,他只能被当前实例访问,而L ock作用于数据库对象,在RAC体系中实例间允许Lock检测与访问 3. Latch是瞬间的占用,释放,Lock的释放需要等到事务正确的结束,他占用的时间长短由事务大小决定 4. Latch是非入队的,而Lock是入队的 5. Latch不存在死锁,而Lock中存在(死锁在Oracle中是非常少见的)
进程
内存
资源
数据
同时
对象
过程
事务
作用
共享资源
多个
实例
性能
数据库
时间
机制
模式
先来
死锁
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
我身边的网络安全段落
无锡赫名网络技术
淮南网络安全电话
数据库2012的安装步骤
人力资源软件开发与应用
无线网络技术 刘威
网络安全调查题
新服务器怎么用旧服务器的地址
服务器主板组装游戏主机
通信网络安全保密制度例文
仁和天下网络安全吗
郑州中澳网络技术原国斌
app访问数据库
网络安全的上游企业
机关网络安全应急演练方案
天心区java程序软件开发
北京软件开发定制定做
南京企业软件开发销售
网络安全的层次是什么
迁安市组织开展全市网络安全检查
关于网络安全法发声亮剑
虚拟主机服务器架设
正规网络技术服务直销价格
网络安全重要性的认识作文
ef数据库连接池
电子政务网络安全建设讲话稿
数据库from join
ibm服务器默认管理口密码
图书馆数据库建设包括
智慧仓储软件开发