DB2对于SQL执行计划的explain表,默认都是不存在的,所以需要在使用过程中根据需要创建,那么如何创建呢?其实DB2还是提供了多种方法供大家使用,第一种就是默认使用脚本EXPLAIN.DDL,该脚本默认创在数据库的如下路径中:

C:\Program Files (x86)\IBM\SQLLIB\MISC>ls
DB2AutoBackupPolicy.xsd         DB2EvmonPkgCache.xsd            DB2MonRoutines.xsd              DB2SchemaAnnotation.xsl         db2adminV8.exe                  db2uext2.v2
DB2AutoReorgPolicy.xsd          DB2EvmonUOW.xsd                 DB2OptProfile.xsd              
EXPLAIN.DDL                    db2audit.ddl                    wlmevmon.ddl
DB2AutoRunstatsPolicy.xsd       DB2MaintenanceWindowPolicy.xsd  DB2PolicyLang.xsd               db2InstallReg.exe               db2ckupgrade.exe
DB2EvmonLocking.xsd             DB2MonCommon.xsd                DB2RecommendationSchema.xsd     db2InstallReg.txt               db2hdr.exe

所以只需要在连接到指定库,执行该文件即可创建explain表,

db2 connect to sample

db2  -tvf EXPLAIN.DDL

即可成功创建,默认的表的schema就是当前的用户schema。

但是这个需要有相关文件才可,也可以通过如下SP直接创建:

db2 connect to sample

db2 "CALL SYSPROC.SYSINSTALLOBJECTS('EXPLAIN','C',NULL,'DB2INST1')"

这样指定Schmma创建explain表,成功后就可以进行SQL执行计划分析了。