This Domain(Admin5.com) is for Sale:

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

时间:2007-12-23  来源:不详  作者:迈克DB


db2exfmt-dSAMPLE-gTIC-w-1-n%-s%-#0-oprod_sample_exfmt.txt

检查prod_sample_exfmt.txt文件的内容。您将看到生成了下面的访问计划:

AccessPlan:
-----------
TotalCost:25.8823
QueryDegree:1

Rows
RETURN
(1)
Cost
I/O
|
4
HSJOIN
(2)
25.8823
2
/----- -----\
41
TBSCANTBSCAN
(3)(4)
12.968212.913
11
||
358
TABLE:SKAPOORTABLE:SKAPOOR
STAFFORG

现在,这就是您要在生产sample数据库上继续的计划。您需要在测试环境中模拟该计划。
从生产sample数据库中收集下列信息:

db2look-dSAMPLE-l-ostorage.out
db2look-dSAMPLE-f-fd-oconfig.out
db2look-dSAMPLE-e-a-m-tORGSALES-otable.ddl

测试环境:
修改上面将数据库从SAMPLE连接到DUMMYDB时所收集的每个文件中的数据库名。
例如,假如您查看了3个文件的内容,就会注重到:
CONNECTTOSAMPLE;

将它修改为:
CONNECTTODUMMYDB;

在测试环境中接管这些文件。本例中,所有的表都是在默认的表空间USERSPACE1中创建的。因此,它们也应在测试系统上相同的SMS表空间中用storage.out中转储的相同配置(包括PREFETCHSIZE、EXTENTSIZE等)进行创建。 织梦好,好织梦
在config.out文件中进行少量修改。将下列内容:
UPDATEDBCFGFORSAMPLEUSINGdft_queryopt5;

修改为
UPDATEDBCFGFORSAMPLEUSINGdft_queryopt3;

并保存config.out文件。
现在,执行storage.out、config.out和table.ddl,如下:

db2-tvfstorage.out>storage_output.out
db2-tvfconfig.out>config_output.out
db2-tvftable.ddl>table.out

检查输出文件以确保所有命令都成功运行了。并且按照生产环境设置中所显示的用于SAMPLEDB的设置来修改DBHEAP、STMTHEAP、NUM_FREQVALUES、NUM_QUANTILES,使它们适用于DUMMYDB。同时,检查注册表变量设置是否尽可能地相同。
使用db2stop和db2start停止并启动该实例。重新为DUMMYDB数据库创建解释表:

db2connecttodummydb;
<installpath>\sqllib\misc\db2-tvfEXPLAIN.DDL
db2terminate;

现在,对DUMMYDB数据库运行查询,在前面对SAMPLE数据库运行查询时所生成的query.sql文件中将数据库名从SAMPLE修改为DUMMYDB。

C:\>db2-tvfquery.sql
connecttodummydb

DatabaseConnectionInformation

Databaseserver=DB2/NT8.2.1
SQLauthorizationID=SKAPOOR

织梦内容管理系统


Localdatabasealias=DUMMYDB

setcurrentexplainmodeexplain
DB20000ITheSQLcommandcompletedsuccessfully.

select*fromorga,staffbwherea.deptnumb=b.deptandb.dept=15
SQL0217WThestatementwasnotexecutedasonlyExplaininformationrequests
arebeingprocessed.SQLSTATE=01604

setcurrentexplainmodeno
DB20000ITheSQLcommandcompletedsuccessfully.

C:\>db2terminate
DB20000ITheTERMINATEcommandcompletedsuccessfully.

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息