Latch和Lock的区别
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,Latch是Oracle提供的轻量级锁资源,他用于快速,短时间的锁定资源,防止多个并发进程同时修改访问某个共享资源,他只工作在内存中, 我们可以不大准确的说,内存中资源的锁叫latch,数据库对象(表
千家信息网最后更新 2025年11月13日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安全错误
数据库的锁怎样保障安全
服务器代工排名
建立全国信息数据库
mes软件开发管理制度
靠谱的网络安全机构
微信举例阐述数据库营销
管家婆云服务器交费
服务器如何查看主板bios
观网络安全教育有感200字
杭州软件开发公司哪家比较好
果洛网络技术服务
导入数据库大文件
win7如何共享做服务器
怎么设置客户端连接到数据库
asp操作sql数据库
山西oa软件开发市场前景如何
放在内网的服务器安全
j图片上传到图片服务器
征信数据库是哪一年建立的
网易手机版服务器装模组
男生可以学软件开发吗
信息安全为何改名网络安全
天津滨海新区网络安全中心
云服务器挂机
梦幻西游手游向阳而生服务器
门禁考勤系统软件开发
浙江在线网络技术服务计划表
华硕电脑rpc服务器不可用
网络技术有上机体吗
上海咸蛋网络技术有限公司
服务器网站不能访问