数据库为什么要有自己管理数据缓冲区?

1. 性能

操作系统对数据缓冲区的支持各有不同,而且从操作系统获取缓存页面的时间(指令)要比直接从内存自有缓冲区获取的时间长。


2. LRU 替换算法

操作系统一般采用LRU页面替换算法,但是数据库对页面的访问模式多样化,比如随机访问,顺序访问等等。操作系统LRU并不能很好的支持数据库的运行。


3. 数据预读

操作系统也会对数据页进行预读,但是仅限于物理相邻的页。数据库的顺序访问,并不保证页面在物理上也相邻。


4. 事务管理

数据库需要对页面实现两种操作,其一为pin和unpin操作来决定页面是否可以被淘汰,其二是强制页面写盘来保证事务持久性。操作系统的页面缓存并不完全支持。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值