今天查看了一些数据库参数,发现临时表空间均是建在默认的缓冲池上,默认 BUFFER POOL 的PAGESIZE为32K,大小为1000页,临时表空间有两个:一个系统临时表空间TEMPSPACE1(MANAGED BY SYSTEM)和一个用户临时表空间TBS_TEMP(MANAGED BY DATABASE)且TBS_TEMP的参数设置Tablespace Pag...
显示全部今天查看了一些数据库参数,发现临时表空间均是建在默认的缓冲池上,默认 BUFFER POOL 的PAGESIZE为32K,大小为1000页,
临时表空间有两个:一个系统临时表空间TEMPSPACE1(MANAGED BY SYSTEM)和一个用户临时表空间TBS_TEMP(MANAGED BY DATABASE)
且TBS_TEMP的参数设置
Tablespace Page size (bytes) = 32768
Tablespace Extent size (pages) = 32
Tablespace Prefetch size (pages) = 32
Number of containers = 1
之前了解到如果要改善 DB2 执行并行 I/O 和提高使用TEMPSPACE的排序、散列连接(hash join)和其它数据库操作的性能,
临时表空间至少应该在三个不同的磁盘驱动器上拥有三个容器。
怀疑问题原因可能是:
1、默认的缓冲池应该增大空间,或者将临时表空间更改至自定义缓冲池上(PAGESIZE为32K,大小为500000页)
2、临时表空间的containers应该增加到3个,Prefetch size应该设置为Extent size的3倍,这个倍数等于容器的个数,
3、已打开STMM,LOCKLIST参数值为指定值20000,非automatic;LOCKTIMEOUT为60,锁等待时间设置短一些.
请大家查阅分析,分享一下经验,谢谢!
收起