検索
ホームページデータベースmysql チュートリアルlatch:librarycache等待(只存在于9i,10g)

latch: library cache等待(只存在于9i,10g) SQL-ASCII-Hash_value-hash bucket,然后申请保护该bucket的library cache latch(3-67个latch保护成千上万个hash bucket),这个latch是为了保护会话在检索bucket对应的hash chain的过程中,hash chain结构不被改

latch: library cache等待(只存在于9i,10g) SQL->ASCII->Hash_value值->hash bucket,然后申请保护该bucket的library cache latch(3-67个latch保护成千上万个hash bucket),这个latch是为了保护会话在检索bucket对应的hash chain的过程中,hash chain结构不被改变。 在chain上会挂着一串父cursor头的指针,每检索到一个指针,就到所指向的内存区,去看这个父cursor是否符合(sql文本是否相同),chain发现相应父cursor后,再寻觅里面的子cursor,找到可重复利用的综合型计划等信息,就会释放latch,这个过程叫软解析。 假如没有找到可重复利用的cursor,就要hard parsing了。先释放library cache latch,获得shared pool latch锁存器,检索并分配可用的chunk,然后释放shared pool latch,这些chunk就算是进入library cache中了。然后查询优化器生成执行计划,并存到相应chunk上。再次获得library cache latch,然后将这些chunk挂到hash chain上。
若在library cache latch获得发生争用,就须等待latch: library cache事件。然后SQL才开始执行,此时转入library cache pin+lock(null模式) select value from v$parameter where name='cpu_count'; --32个cpu select rownum,name,gets from v$latch_children where name like '%library%'; --37个library cache 子锁存器,一般认为子锁存器数量是比cpu_count大的最小质数值,可以被 _KGL_LATCH_COUNT 参数控制 原因: 1.hard parsing或soft parsing过多,硬解析时除了检索library cache的hash chain费时间,还得花时间额外分配chunk。就算是仅有软解析,也会发生争用,因为其还有语法检查语义检查、库高速缓冲区检索这些过程,在这些过程中也得先获得library cache latch。这个等待伴随shared pool latch等待就是硬解析过多(因为要分配chunk),没有后者就应该仅是软解释过多。
2.High Versions Count,子游标过多,v$sqlarea的version_count字段显示有多少个子游标,或者v$sql的child_number字段,从0开始算的。bucket->hash chain->检索到这个文本对应的cursor,还得检索这个父cursor下面的几个子cursor,例如不同用户发出的相同sql就会有一样的父cursor,此时获得library cache latch的时间会延长。 High version counts can easily cause high contention for library cache latches. A process parsing a SQL statement with many versions (children cursors) will need to scan through all these children while holding on to a library cache latch. This means that other processes needing the same latch will have to wait and can lead to significant database-wide performance degradation. 3.SGA区发生OS层面的page out,
解决: 1.要使用绑定变量减少硬解析,软解释最好也设法减少,例如应用上用缓存等。 2.session_cached_cursors参数默认为0,设为50以上比较好。设定了该值后Oracle将执行三次以上的SQL Cursor信息保存到PGA内,信息包括SQL文本与对于库高速缓存的指针值。用户一旦提交SQL,首先看PGA,存在的话直接跳到library cache的cursor那。所以这个参数是softer soft parse,软解析的软解析。因为这个参数针对会话,所以维持会话的连接性才能有效,例如配置中间件连接池。itpub的vage说,软软解析时,10.2.0.1中有,10.2.0.2--10.2.0.4没有,到10.2.0.5又有了。到11G又没了,搞不明白Oracle是咋想的。 3.HP_UX,AIX用LOCK_SGA参数设为true(默认false),SunOS用_USE_ISM参数设为true(默认true)。
后续: 11g,这个等待事件library cache: mutex X就是早期的latch: library cache等待。10g后很多latch用mutex代替。_kks_use_mutex_pin=false可以禁止mutex)
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHP异步发送邮件:避免长时间等待邮件发送完成。PHP异步发送邮件:避免长时间等待邮件发送完成。Sep 19, 2023 am 09:10 AM

PHP异步发送邮件:避免长时间等待邮件发送完成。导言:在Web开发中,发送邮件是常见的功能之一。但是,由于邮件发送需要与服务器进行通信,往往会导致用户在等待邮件发送完成的过程中出现长时间的等待。为了解决这个问题,我们可以使用PHP异步发送邮件的方式来优化用户体验。本文将介绍如何通过具体的代码示例实现PHP异步发送邮件,并避免长时间的等待。一、理解异步发送邮件

理想汽车L系列迎来新成员:理想L6定位中型五座SUV理想汽车L系列迎来新成员:理想L6定位中型五座SUVJul 02, 2023 pm 11:57 PM

6月30日消息,理想汽车旗下的L系列车型,包括L7、L8和L9,在各自的价格区间中取得了可观的销售成绩。然而,据小编了解,理想汽车希望进一步提升销量,关注点落在了另一款新车——理想L6的表现上。近日,一位博主在高速服务区疑似拍到了理想L6的伪装车。根据博主所拍照片显示,疑似理想L6的伪装车并没有正常行驶,而是停放在一辆拖车上。与旁边的白色蔚来SUV相比,即使作为L系列中定位最低的车型,理想L6的体积也显得相当庞大。据悉,理想L6被定位为一款中型五座SUV。尽管这些照片未能提供太多有关外观细节的信

Go语言主函数会等待吗?探究与解析Go语言主函数会等待吗?探究与解析Mar 09, 2024 pm 10:51 PM

Go语言主函数会等待吗?探究与解析在Go语言中,主函数是程序的入口,负责启动程序的运行。许多初学者对于Go语言主函数是否会等待程序中的其他goroutine执行完毕而感到困惑。本文将深入探讨这个问题,并通过具体的代码示例来解析。首先,需要明确的是,Go语言中的主函数并不会像一些其他编程语言中的主函数那样会等待程序的其他部分执行完毕。主函数只是程序的起点,当主

深入理解Java中的wait和notify:线程同步机制解析深入理解Java中的wait和notify:线程同步机制解析Dec 20, 2023 am 08:44 AM

Java中的线程同步:解析wait和notify方法的工作原理在Java多线程编程中,线程之间的同步是一种非常重要的概念。在实际开发中,我们经常需要控制多个线程之间的执行顺序和资源访问。为了实现线程的同步,Java提供了wait和notify方法。wait和notify方法是Object类中的两个方法,它们使用了java中的监视器(monitor)机制来实现

在C++中,将以下内容翻译为中文:计算在L和R之间与P互质的数字数量在C++中,将以下内容翻译为中文:计算在L和R之间与P互质的数字数量Aug 26, 2023 pm 09:33 PM

在计算机编程领域,找到给定范围内与特定数字互质的数字数量可能是一个常见的任务。互质数,也称为相对质数,是指除了1以外没有其他公因数的数字。在本文中,我们将通过使用C++语言来探讨在给定整数L和R之间找到与特定数字P互质的数字数量。语法我们将首先概述我们在接下来的代码示例中将使用的方法的语法-intcountCoprimes(intL,intR,intP);算法我们将使用的算法来计算互质数的数量如下所示−将变量count初始化为0,用于存储互质数的计数。从L开始迭代每个数字num,直到R。对于每个

盘点一些Linux实用小技巧盘点一些Linux实用小技巧Mar 12, 2024 pm 01:49 PM

Linux是一个强大的操作系统,有许多实用的命令和技巧可以帮助你更高效地使用它。1、查看文件校验值在文件复制或传输过程中,可能会出现损坏或修改的情况,此时可以通过校验值来进行验证确认。通常,我们在工作中需要使用由其他团队提供的一些接口程序。每当这些程序的运行结果与预期不符时,我们会比对双方的md5校验值以确认数据的一致性。生成文件的校验值的方法有很多种,常用的有md5sum校验、crc校验、sum校验等。命令分别为:md5sumfile_namecksumfile_namesum算法参数file

为什么ParseException(s, l, str(ve)),怎么解决为什么ParseException(s, l, str(ve)),怎么解决Feb 29, 2024 pm 08:22 PM

报错的原因在python中,pip出现"ParseException(s,l,str(ve))"的错误通常是由于pip版本过低或者网络连接问题导致的。可以尝试更新pip版本或者检查网络连接。如何解决下面是一些解决这个错误的方法:更新pip:使用命令"Python-mpipinstall--upgradepip"来更新pip版本检查网络连接:确保网络连接稳定并且可以访问pypi.org使用代理:如果你的网络需要代理,请在命令行中设置代理,例如:pipinstall--proxyHttp://pro

究竟是买windows10系统还是等windows11系统究竟是买windows10系统还是等windows11系统Jul 09, 2023 pm 11:21 PM

微软距windows10时隔了六年推出windows11这个全新的系统,很多用户都在期待着这个新系统呢。但还是有用户苦恼,不知道是该买win10系统还是等win11系统,那就跟着小编一同去了接一下它们的区别吧,或许看完以后你心里就已经有了答案。1、开始菜单:简单的图标,没有动态磁贴Win11的“开始”菜单与Win10的平铺应用程序快捷方式(从Win8开始)相比,无疑是一个重大变化。默认情况下,“开始”菜单位于PC桌面的中心,与Win10X的“开始”菜单大致相同如果它曾经推出,就会表现得很好。在W

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター