zoukankan      html  css  js  c++  java
  • latch free

    latch free 等待事件:

    latch: cache buffers chains 这个等待事件其实还有另外一个重要的原因,那么就是逻辑读太高,SQL执行计划走错了导致的。


       当进程想要获取锁存器而此时该锁存器整被其他进程持有时产生latch free(锁存器空闲)等待事件,类似于排队,Oracle

    使用锁存器来保护数据结构。一次只能在一个进程来获得锁存器后修改或检查数据结构。其他需要访问该数据结构的进程必须等到

    它们获得锁存器后。不同于排队的是,请求锁存器的进程不需要在对列中等待。如果获取锁存器的请求失败,则进程仅仅等待一小段

    时间就可以再次请求锁存器。这一小段等待时间称为"自旋"(spin)。如果在一次或多次自旋重复(spin itertions)之后没有获取锁存器,

    进程就休眠一小段时间,然后再次尝试获取锁存器,接下来休眠更长一段时间直到获得锁存器。


    最常见的latch: cache buffer chains,library cache,shared pool


    library cache pin(库高速缓存pin)等待事件与库高速缓存并发性有关,当会话尝试在库高速缓存中钉住对象以修改或检查


    该对象时产生该事件,会话必须获取插针(pin)以确保此时对象没有被其他会话更新,当会话正在编译或分析PL/SQL过程和视图时,Oracle提交该事件。


    library cache lock(库高速缓存锁)等待事件也与高速缓存并发性有关,当会话尝试在库

    高速缓存中修改或检查给定对象时产生该事件。会话必须获取对象句柄的库高速缓存锁,以阻止其他会话


    同时访问它,或维持一段较长事件的依赖性,或在库高速缓存中给对象定位。

  • 相关阅读:
    PlayerPrefs存储Vector3等结构数据
    Kafka集群部署及測试
    火云开发课堂
    Thinking in Java:容器深入研究
    求int型数据在内存中存储时1的个数
    JAVA 几种多线程的简单实例 Thread Runnable
    Android利用Intent与其它应用交互
    kernel
    Azure DocumentDB 正式发布
    在公有云平台体验开源方案的自动部署
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/3798052.html
Copyright © 2011-2022 走看看