zoukankan      html  css  js  c++  java
  • ORACLE数据缓冲区DB cache

    DB CACHE是以数据块为单位组织的缓冲区,数据库刚刚启动的时候,DB CACHE中几乎没有用户数据的缓冲,当会话访问数据库中的表或索引时,首先会检查DB CACHE中是否存在该数据,如果不存在,就会从数据文件中读取该数据块到DB CACHE中,然后再从DB CACHE中读取该数据。

    定位DB CACHE中的数据块是通过散列算法实现的,有一个哈希链结构,缓冲区中正在使用的数据块都在上面。

    如果要查找数据块,散列运算算出数据块所在链的链头,从链头的双向链表结构扫描下去,即可找到数据块。

    这每一个链,我们称之为BUCKET,其数量在数据库启动后就不会改变,BUCKET数量有参数_DB_BLOCK_HASH_BUCKETS指定。

    DB CACHE由BUFFER构成。

    DB CHACHE中的算法有两种,LRU算法换进换出buffer,还有哈希。


  • 相关阅读:
    leetcode回溯总结
    排序算法详解
    Java核心基础知识泛型
    leetcode贪心算法
    Linux虚拟机配置及安装Redis
    HJ6质数因子
    冒泡排序(升序)
    动态规划 背包问题
    配置mycatschema.xml
    HJ106字符逆序
  • 原文地址:https://www.cnblogs.com/james1207/p/3271539.html
Copyright © 2011-2022 走看看