博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORACLE数据缓冲区DB cache
阅读量:6265 次
发布时间:2019-06-22

本文共 374 字,大约阅读时间需要 1 分钟。

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,还有哈希。

 

转载地址:http://qidpa.baihongyu.com/

你可能感兴趣的文章
计算机网络与Internet应用
查看>>
Django 文件下载功能
查看>>
走红日本 阿里云如何能够赢得海外荣耀
查看>>
磁盘空间满引起的mysql启动失败:ERROR! MySQL server PID file could not be found!
查看>>
点播转码相关常见问题及排查方式
查看>>
[arm驱动]linux设备地址映射到用户空间
查看>>
什么是进程And线程
查看>>
利用OCR文字识别+百度算法搜索,玩转冲顶大会、百万英雄、芝士超人等答题赢奖金游戏...
查看>>
多层表达式
查看>>
VS2017桌面应用程序打包成.msi或者.exe
查看>>
Linux进程调度原理【转】
查看>>
大白话说Java反射:入门、使用、原理
查看>>
Dockerfile 中的 multi-stage(多阶段构建)
查看>>
nodejs中的cron
查看>>
Failed to import package with error: Couldn't decompress package的解决方案
查看>>
[日常] Go语言圣经-WEB服务与习题
查看>>
javax.websocket.Session的一个close异常记录
查看>>
I2C 12864OLED的工作机制
查看>>
在Unity场景中更改天空盒的步骤
查看>>
hibernate联合主键注解方式
查看>>