电脑技术学习

使用DB2look重新创建优化器访问计划(1)

dn001

  生成配置参数和注册表变量db2look -d <dbname> -f -fd -o config.out
  这里,我将使用下列参数:
  -f:提取配置参数和注册表变量。假如指定了该选项,就会忽略 -wrapper 和 -server 选项。
  -fd:为 opt_buffpage 和 opt_sortheap 生成 db2fopt 语句,以及其他配置和注册表设置。
  该命令的输出如下所示:
  清单 2. db2look 命令的示例输出:$ db2look -d sample -f -fd 
-- No userid was specified, db2look tries to use
Environment variable USER 
-- USER is: SKAPOOR 
-- This CLP file was created using DB2LOOK Version 8.2 
-- Timestamp: Sat Mar 26 00:13:36 EST 2005 
-- Database Name: SAMPLE 
-- Database Manager Version: DB2/6000 Version 8.2.2 
-- Database Codepage: 819 
-- Database Collating Sequence is: UNIQUE 
CONNECT TO SAMPLE; 
-------------------------------------------------------- 
-- Database and Database Manager configuration parameters 
-------------------------------------------------------- 
UPDATE DBM CFG USING cpuspeed 6.523521e-07; 
UPDATE DBM CFG USING intra_parallel NO; 
UPDATE DBM CFG USING federated NO; 
UPDATE DBM CFG USING fed_noauth NO; 
!db2fopt SAMPLE update opt_buffpage 50000; 
!db2fopt SAMPLE update opt_sortheap 10000; 
UPDATE DB CFG FOR SAMPLE USING locklist 1000; 
UPDATE DB CFG FOR SAMPLE USING dft_degree 1; 
UPDATE DB CFG FOR SAMPLE USING maxlocks 10; 
UPDATE DB CFG FOR SAMPLE USING avg_appls 1; 
UPDATE DB CFG FOR SAMPLE USING stmtheap 2048; 
UPDATE DB CFG FOR SAMPLE USING dft_queryopt 5; 
--------------------------------- 
-- Environment Variables settings 
--------------------------------- 
!db2set DB2_ANTIJOIN=yes; 
!db2set DB2_INLIST_TO_NLJN=yes; 
COMMIT WORK; 
CONNECT RESET; 
TERMINATE;
  -f 和 -fd 选项是用于提取配置参数和注册表变量的要害选项,而优化器将在访问计划阶段使用这些配置参数和环境。在上面的 清单 2 中,请注重下列 -fd 选项所产生的输出:!db2fopt SAMPLE update opt_buffpage 50000; 
!db2fopt SAMPLE update opt_sortheap 10000;
  db2fopt 命令告诉优化器为“缓冲池大小(Buffer pool size)使用指定的值,而非将可用缓冲池变量的页面加起来。(db2exfmt 输出中的缓冲池大小将在下面的 缓冲池大小 一节中进行进一步的讨论。)例如,假设由于测试系统上的内存约束,您无法获得大型的缓冲池,并且希望将大小配置得相同,实际上却不是真正有这么大。使用将生成必要的 db2fopt 命令的 -fd 选项来告诉优化器使用指定大小,而非基于对该数据库可用的缓冲池进行计算。;