[Oracle] 浅谈Lock与Latch
发布时间:2024-01-15 18:02:37
标签:Oracle,Lock,Latch
首先谈谈它们的共同点吧:它们本质上都是一种对资源的独占锁定,都是由并发引起(如果数据库只有一个session,就谈不上锁定)。
接着着重谈谈它们的不同点:
首先,它们的目的不一样,enqueue (即Lock,Oracle官方文档混合使用这两个名词,在等待事件里,可以看到大量的enqueue,其实就是lock)是为了解决业务层面的数据争用,而latch是为了解决内存资源的争用。
其次,它们的运行方式不一样,enqueue采用排队方式,先到先得,而latch的竞争近乎无序,以一种随机的方式,先到不一定先得,得靠抢,而且它还以一种时间片轮训的方式,不会一直霸占,即时还没运行完,时间片一到也。
第三,会话持有的时长不一样,enqueue根据业务情况,可能会持有较长时间,而latch通常非常短。第四,引起的原因不一样,enqueue太多通常是业务设计的问题,而latch过多,一般是数据库层面的问题(如未使用绑定变量、表或索引热块等)。


猜你喜欢
- 先准备好安装软件。从官网下载最新的pycharm版本:https://www.jetbrains.com/pycharm/download/
- 效果图守卫类游戏大家应该玩过吧,什么植物大战僵尸呀,保卫萝卜呀,今天我们自己用python来写一个自己的守护类小游戏兔子猎人守护城堡,让大家
- 下面展示了图像的加密和解密过程(左边是输入图像,中间是加密后的结果,右边是解密后的图像):1、加密算法要求(1)加密算法必须是可逆的,拥有配
- 本文实例讲述了go语言实现猜数字小游戏的方法。分享给大家供大家参考。具体分析如下:随机生成一个数字,输入一个数字看是否匹对,匹配则结速,反之
- import timenow_time = time.time()print(now_time)结果是1594
- 以下是我开发时碰到的问题以及心得经验,花了些时间调试,贴出来避免大家少走弯路,如有错误欢迎指正,持续更新ing xml文件尽量以
- 升序import pandas as pdimport numpy as npdata = np.random.randint(low=2,
- win10 Python3.7安装keras深度学习集成包 TensorFlow 和Ubuntu下安装keras在win10下安装安装时必须
- 首先我们来看一下属性的定义属性的定义:python中的属性其实是普通方法的衍生。操作类属性有三种方法:1.使用@property装饰器操作类
- 本文实例为大家分享了Python实现五子棋游戏的具体代码,供大家参考,具体内容如下class CheckerBoard(): &
- 从txt种获取数据 并且通过动态曲线显示import numpy as np import matplotlib.pyplot as plt
- 1、缘由在日常开发中,我们经常需要监控应用程序的状态,及时发现问题并采取措施解决。而通过邮件发送报警信息则是一种常见的实现方式。Python
- 详细介绍Scrapy shell的使用Scrapy shell是Scrapy框架提供的一个非常有用的工具,可以帮助开发者快速地测试和调试Sc
- 背景在小站点上,直接用git来部署php代码相当方便,你的远程站点以及本地版本库都有一个版本控制,追踪问题或者回滚是很轻松的事情。因为在小公
- 本文实例为大家分享了Bootstrap导航栏和登陆框的具体代码,供大家参考,有不足的地方请大家谅解,大家共同学习进步。<!DOCTYP
- 一、安装cuda1、在英伟达官网下载最新版的cuda驱动https://developer.nvidia.com/zh-cn/cuda-do
- 前言在安装完python及pip,setuptools等工具后,即可以创建virualenv虚拟环境了,这个类似于虚拟机的工具,可以让同一台
- 使用python爬虫库requests,urllib爬取今日头条街拍美图代码均有注释import re,json,requests,osfr
- 这里再重复一下标题为什么是"使用"而不是"实现":首先,专业人士提供的算法比我们自己写的算法无论是效
- Python中list的用法:如何创建list,如何表达list中的元素,如何修改和删除list运行环境:Python 3.6.20.空li