使用DB2look重新创建优化器访问计划(7)
2007-08-06 16:23:18 来源:WEB开发网核心提示:步骤 3:当模拟整个数据库时,从生产中收集所有对象的 DDL 信息,使用DB2look重新创建优化器访问计划(7),并在测试中运行 db2look,在生产中:db2look -d sample -e -a -m -o db2look.out在测试中:db2 -tvf db2look.out为了看到输出结果,这由您来决定
步骤 3:当模拟整个数据库时,从生产中收集所有对象的 DDL 信息,并在测试中运行 db2look。
在生产中:
db2look -d sample -e -a -m -o db2look.out
在测试中:
db2 -tvf db2look.out
为了看到输出结果,可发出:
db2look -tvf db2look.out > db2look.results
一旦完成了以上步骤,就请确保在测试中将 dbheap 数据库配置参数设置为与生产中相同的值。
步骤 4:使用 db2exfmt 从测试和生产中获得访问计划,并确保下列内容与生产中的相同:
Database Context:
----------------
Parallelism: None
CPU Speed: 4.762804e-07
Comm Speed: 100
Buffer Pool size: 128500
Sort Heap size: 128
Database Heap size: 5120
Lock List size: 12250
Maximum Lock List: 10
Average Applications: 4
Locks Available: 78400
Package Context:
---------------
SQL Type: Dynamic
Optimization Level: 3
Blocking: Block All Cursors
Isolation Level: Cursor Stability
---STATEMENT 1 SECTION 201 ----
QUERYNO: 1
QUERYTAG: CLP
Statement Type: Select
Updatable: No
Deletable: No
Query Degree: 1
现在,查看访问计划。如果它们是相同的,那么您就成功地重新创建了访问计划。还请注意,您还应查看 db2exfmt 输出结尾以验证表空间配置是匹配的。
示例 4:
生产:MPP,4 个逻辑分区/ 16 个物理分区。
测试:MPP,4 个逻辑分区,每个逻辑分区中只有 4 台可用的物理机器。
查询中所涉及的表、视图/MQT。
本示例中,该模拟可能不会准确工作。测试和生产中的分区数目必须相同。然而,您仍可以尝试重新创建,只是它不会正确。
因此,您必须向测试环境添加 16*4=64 个分区,以便重新创建正确。测试环境中不需要 16 台物理机器;即您可以具有 4 台物理机器,每台物理机器具有 16 个逻辑分区。这由您来决定,但总共必须有 64 个逻辑分区,与生产中相同。
更多精彩
赞助商链接