db2中为什么创建缓冲池?

如题所述

第1个回答  2019-12-25
1、缓冲池用于从磁盘读取表和索引数据时,数据库管理器分配的用于高速缓存这些表或索引数据的内存区域。每个数据库至少有一个缓冲池。数据库中的数据访问都需要经过缓冲池:读的数据需要先读到缓冲池才能提交给应用,写的数据也是要先写到缓冲池才能进行I/O。缓冲池时影响数据库性能最大的参数,所以必须合理地设计缓冲池。
2、创建数据库时,DB2会自动创建一个名为IBMDEFAULTBP的默认缓冲池,所有的表空间共享该缓冲池。
3、可以使用create
bufferpool、drop
bufferpool和alter
bufferpool语句来创建、删除和修改缓冲池。SYSCAT.BUFFERPOOLS目录视图记录数据库中所定义的缓冲池信息。缓冲池默认的大小由BUFFPAGE数据库配置参数所制定的大小,但是可以通过create
bufferpool命令中指定size关键字来覆盖缺省值。足够的缓冲池大小是数据库拥有良好性能的关键所在,因为它可以减少磁盘IO这一最耗时的操作。大型缓冲池还会对查询优化产生影响,更多的工作在内存中进行,而无须进行IO操作。
4、脏页包含已更改但尚未写入磁盘的数据。将一个已经更改的页写入磁盘之后,它就是一个干净页,并且可能仍然保留在磁盘中。
相似回答