Chinaunix首页 | 论坛 | 博客
  • 博客访问: 435489
  • 博文数量: 239
  • 博客积分: 8010
  • 博客等级: 中将
  • 技术积分: 2431
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-02 21:12
文章分类
文章存档

2008年(239)

我的朋友

分类:

2008-06-18 00:09:24

本章小结

数据库系统有自己的内存管理和调度。整个内存空间依据存放数据和功能的不同,被划分为多个部分,主要包括:进程缓冲区、数据字典缓冲区、用户数据缓冲区、SQL语句缓冲区、日志缓冲区、锁表缓冲区。每个部分分别使用单独的页表进行请求调页管理、请求淘汰换页管理。一个数据库系统可以使用多个页尺寸读取磁盘中的数据。

进程缓冲区是进程的私有内存空间,存放进程控制块、堆栈、数据、程序代码等进程运行所需要的相关信息,被进程排它性地使用。它在进程启动时被分配,在进程中止后被回收。用户一般不用改变进程缓冲区的配置。

数据字典缓冲区存放数据库的数据字典信息,在数据库系统启动时分配。应当避免在系统正常运行过程中,由于内存空间不足,而引起对数据字典信息的读出和读入。

用户数据缓冲区存放数据库中的用户数据。这些用户数据由代理进程读入内存,由页清除进程将更新后的数据写入磁盘。它的配置和管理,对数据库系统性能有着重要的影响,应当保证它的数据命中率在95%以上。

SQL语句缓冲区存放由优化器生成的SQL语句执行计划,不要在数据库系统正常运行时对系统进行维护,以避免SQL语句的再次编译。

日志缓冲区存放事务执行过程中产生的日志信息,由日志写进程将日志缓冲区中的数据写入磁盘。

锁表缓冲区存放为数据库对象所加的锁。为保证数据的更新操作不会丢失,在处理数据前,数据库系统要对数据加相关的锁。在更新完成后,这些锁就被释放。

常见的数据库系统:DB2ORACLEINFORMIXSYBASE,其内存空间结构的使用和管理不尽相同。要正确配置和管理各个数据库系统的内存使用,需要了解和掌握其内存空间的结构和作用。

阅读(636) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~