数据库缓冲区缓存

数据库缓冲区缓存是Oracle用来执行sql的工作区域。更新数据时,用户的会话不直接更新磁盘上的数据。包含关键数据的数据块首先复制到数据库缓存区缓存。
理想状态相爱,频繁访问的数据的所有块位于数据库缓冲区缓存中,大大减少了磁盘的I/O的需要。
例如:
select customer_id,customer_name from customers;
update customers set customer_name='Sid' where customer_id=100;
commit;
为执行用户进程提交的select语句,会话的服务器进程会扫描缓冲区缓存中相关行的数据块。如果找到了,就会发生一次缓冲区缓存命中。假设没有命中,服务器进程会在将结果发送给用户进程之前,将包含相关行的数据从数据文件读入缓存区。
  然后,用户进程将update和commit语句提交给服务器进程执行。
如果缓冲区的缓存中存储的块的映像和磁盘上的映像不同,那么这样的缓冲区称为是“脏缓冲区”。
注:缓冲区的更新频率(或commit的数量)与何时写回数据文件没有关系。对数据文件执行写操作由数据库写入器后台进程完成。
数据库缓冲区缓存的大小对性能有很大的影响。足够大,能缓存所有频繁访问的块。
而缓存过小,会导致磁盘活动过多。
数据库缓存区在实例启动时分配。Oracle9i后版本,我们可以自动调节其大小。
即可以动态调整数据库缓冲区缓存的大小,也可以对其进行自动管理。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值