WEB开发网
开发学院数据库DB2 DB2 存储过程中如何使用 Optimization Profile 阅读

DB2 存储过程中如何使用 Optimization Profile

 2010-09-03 00:00:00 来源:WEB开发网   
核心提示: 查看原图(大图)从执行计划中我们可以看到,DB2 默认选择 Nest Loop Join 来实现该操作,DB2 存储过程中如何使用 Optimization Profile(9),并且把 DEPARTMENT 表作为外表,对其采用表扫描的方式,仅仅是为了验证 Optimization Profi

查看原图(大图)

从执行计划中我们可以看到,DB2 默认选择 Nest Loop Join 来实现该操作,并且把 DEPARTMENT 表作为外表,对其采用表扫描的方式,把 EMPLOYEE 表作为内表,对其采用索引扫描的方式(XEMP2 为 EMPLOYEE 表上的一个索引)。在后续的示例中我们将使用 Optimization Profile 来修改这种 Join 的顺序,强制把 EMPLOYEE 作为外表,DEPARTMENT 作为内表。这样做的目的并不是出于性能更优的考虑,仅仅是为了验证 Optimization Profile 被成功应用到该 SQL 语句上。

创建 Optimization Profile

使用存储过程中 SQL 语句的内部表示形式来创建相应的优化概要文件,具体如清单 10 所示。

清单 10.Optimization Profile 脚本

 <?xml version='1.0' encoding='UTF-8'?> 
 <OPTPROFILE VERSION='9.1.0.0'> 
 <STMTPROFILE ID='TEST'> 
 <STMTKEY> 
 <![CDATA[SELECT COUNT(*) INTO :HV00009 :HI00009 
 FROM DEPARTMENT, EMPLOYEE 
 WHERE DEPARTMENT.DEPTNO = EMPLOYEE.WORKDEPT AND DEPARTMENT.DEPTNAME = 
 
 :HV00008 :HI00008]]> 
 </STMTKEY> 
 <OPTGUIDELINES> 
  
 <NLJOIN> 
  
 <ACCESS TABLE='EMPLOYEE'/> 
  
 <ACCESS TABLE='DEPARTMENT'/> 
  
 </NLJOIN> 
 </OPTGUIDELINES> 
 </STMTPROFILE> 
 </OPTPROFILE> 

上一页  4 5 6 7 8 9 10  下一页

Tags:DB 存储 过程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接