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(库高速缓存锁)等待事件也与高速缓存并发性有关,当会话尝试在库

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


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

  • 相关阅读:
    NOIP201208同余方程
    NOIP模拟赛 最佳组合
    NOIP模拟赛 拓展
    CF1253E Antenna Coverage(DP)
    LOJ6033「雅礼集训 2017 Day2」棋盘游戏 (博弈论,二分图,匈牙利算法)
    CF582E Boolean Function(DP,状态压缩,FMT)
    CF750G New Year and Binary Tree Paths(DP)
    Codeforces Round 596 题解
    AGC008E Next or Nextnext(组合计数,神奇思路)
    ARC082E ConvexScore(神奇思路)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13352443.html
Copyright © 2011-2022 走看看