|
|
 |
 |
|
|
 |
|
使用db2look 重新创建优化器访问计划
|
|
|
|
编辑:华夏媒体 作者:未知 来源:网络 时间:2006-07-29 总浏览量:4730 |
|
文字大小:[ 大 中 小 ]
文字颜色: 双击滚屏/单击停止 |
|
[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [下一页]
|
收集数据库子集的统计数据和 DDL 为了仅仅收集某些表和相关对象的统计数据和 ddl,可使用下列命令:
db2look -d <dbname> -e -a -m -t <table1> <table2> .. <tableX> -o table.ddl
这里,我使用了下列附加参数: -t:为特定的表生成统计数据。可以将表的最大数目指定为 30。 此外,如果您不使用 -a 选项,就可以使用 -z 选项: -z:模式名。如果同时指定了 -z 和 -a,那么将忽略 -z。联邦区域将忽略模式名。
注意:-m 选项极其重要。该选项将从系统表收集所有统计数据。测试中的统计数据必须与生产中的相同,这些统计数据是可以在测试环境中模拟生产环境的关键。
db2exfmt 输出的更多细节 数据库管理器级的配置参数 注意:使用命令 db2 "get dbm cfg" 查看这些参数,并使用 db2 "update dbm cfg using <parameter> <value>" 更新数据库管理器的配置参数。 并行性(Parallelism): 该参数表明是启用分区间并行性(inter-partition parallelism),还是启用内部分区并行性(intra-partition parallelism)。如果这是具有多个分区的 DPF,那么您将看到 Inter Partition Parallelism。如果这只是 SMP(启用 intra_parallel)单个节点环境,那么您将看到 Intra Partition Parallelism。如果启用了 intra_parallel,并且是多个分区的环境,您将看到该参数为 Inter and Intra partitions parallelism。最后,如果没有分区间或分区内并行性,该参数将显示 NONE。 CPU 速度(cpuspeed): SQL 优化器使用 CPU 速度(每条指令几微秒)来评估某些操作的执行成本。 通信速度(comm_bandwidth): SQL 优化器使用为通信带宽所指定的值(每秒几兆字节)来评估在分区数据库系统中的分区服务器之间执行某些操作的成本。 数据库级的配置参数 注意:使用命令 db2 "get db cfg for <dbname>" 来查看这些参数,以及使用 db2 "update db cfg for <dbname> using <parameter> <value>") 来更新数据库配置参数。 缓冲池大小(buffer pool size): 如果使用 buffpage 作为一个缓冲池的默认值,那么 db2exfmt 输出中显示的缓冲池大小就是由 buffpage 参数决定的,或者基于 syscat.bufferpools 的内容进行计算。所显示的数目就是分配给数据库的缓冲池页面的总数目。例如,假设我们具有下列缓冲池:
表 1. 缓冲池设置
缓冲池名称大小 IBMDEFAULTBP1000 BP11000 BP24000 BPIND11000 BPIND21000 BPLONG1000 BPTEMP1000 总数:10,000
db2exfmt 输出将显示所有缓冲池中的页面总数为总的大小。在上面的例子中,就是 10,000。 注意:页面大小(Pagesize)无关紧要,仅仅是页面的数目。 如果您无法在测试中分配到与生产中相同数量的缓冲池,那么可以在 db2look 中使用 -fd 选项来使用 db2fopt 备选命令。 在 MPP 中,优化器为运行查询的节点使用总的缓冲池信息时,要按每个节点来计算 opt_buffpage。因此,该修改将仅仅应用到运行该工具的那个节点上。 排序堆大小(SORTHEAP) 该参数定义用于私有排序的私有内存页面的最大数目,或用于共享排序的共享内存页面的最大数目。 您应将之设置为与生产中相同的值。同样,通过在 db2look 中使用 -fd 选项,您将注意到:
!db2fopt SAMPLE update opt_sortheap 256;
这将重写 sortheap 配置参数,优化器也将之用作 sortheap 值。同样,在运行时真正分配的排序堆(sortheap)实际上将由数据库配置中的 sortheap 设置来决定。与 opt_buffpage 相同,如果您无法在测试系统上分配与生产系统上相同大小的排序堆(sortheap),那么可以使用 opt_sortheap。 数据库堆大小(DBHEAP): 每个数据库都有一个数据库堆,数据库管理器使用它来代表连接到数据库上的所有应用程序。 它包含表、索引、表空间和缓冲池的控制块信息。 锁列表大小(LOCKLIST): 该参数表示分配给锁列表的存储器大小。 最大锁列表(MAXLOCKS): 该参数定义数据库管理器执行升级之前必须填入的应用程序所占有锁列表的百分比。 locklist 和 maxlocks 将帮助确定某扫描(索引扫描或表扫描)期间将持有的锁类型,以及隔离级别。例如,您将在计划中注意到(比如说)索引扫描操作:
|
|
[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [下一页]
|
|
|
打印 收藏 关闭 至顶部 |
|
 |
|