DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第6部分:DB2开发工具
2010-02-18 15:01:07 来源:WEB开发网限制
工作台中的 Visual Explain 支持以下数据服务器:
DB2 Version 9.5.1 for Linux, UNIX, and Windows
DB2 UDB for z/OS™ Version 8 (New Function Mode)
DB2 Version 9.1 for z/OS
如果需要为DB2 Version 8.2 for Linux, UNIX, and Windows或DB2 UDB for z/OS Version 8(兼容模式)创建访问计划图,则必须安装附加软件。在需要创建访问计划图时,工作台将启动该软件。
对于 DB2 Version 8.2 for Linux, UNIX, and Windows,您必须安装 DB2 for Linux, UNIX, and Windows的客户端。
对于 DB2 UDB for z/OS Version 8 (Compatibility Mode),您必须安装 Visual Explain for DB2 for z/OS。
通过DB2命令行处理过程
DB2 Command Line Processor (CLP) 是自带的一种与 DB2 进行交互的方法。使用各种 GUI 工具完成的任务都可以使用CLP 完成。使用CLP,您可以配置、调优、获得帮助、运行SQL查询、创建(构建)、运行存储过程或获得各个SQLCODE的信息。
要通过DB2命令行构建存储过程,请编辑包含此过程的文件以添加DB2可以识别的终止符。SQL过程中的每条语句都需要一个终止符。默认值为分号(;)。您需要选择一个将在脚本中使用的备选终止符,以便 CLP 知道您的过程终止的位置。最常用的是 “at” 符号(@)和感叹号(!)。
清单 1 显示了一个包含简单存储过程的脚本,在结尾处使用“@” 终止符。
清单 1. 带有终止符的存储过程脚本CREATE PROCEDURE NUMBER_OF_ORDERS
(in_status varchar(10), in_date DATE, out num_of_order int)
P1: BEGIN
DECLARE v_number INTEGER DEFAULT 0;
SELECT count(poid)
INTO v_number
FROM PURCHASEORDEr
WHERE ucase(status) = ucase(in_status)
AND orderdate < in_date;
SET num_of_order = v_number;
END P1 @
此脚本被保存为myscript.db2 文件。
要通过DB2 CLP 构建过程 number_of_orders,请运行以下命令:db2 –td@ -vf myscript.db2。此 CLP命令的一般语法是 db2 -td <terminating-character> -vf <CLP-script-name>
注:-td 选项表示 CLP 终止符默认值将被重置为终止字符。-vf 表示将使用CLP的可选的 verbose(-v)选项,这将导致在脚本运行时将显示脚本中的每条 SQL语句或命令,以及执行脚本得到的所有输出。-f 选项表示执行命令的目标是文件。
现在通过CLP执行此过程。您可以使用CALL语句通过命令行调用存储过程。存储过程应当已在(先前构建的)DB2目录中,并且应当建立了与数据库的连接。CALL语句的语法为db2 call procname (parm1, ….)。
您还需要提供每个IN 及 INOUT 参数的值和每个OUT 参数的 ? 占位符。注:CALL语句中的参数数据类型应当与 CREATE PROCEDURE语句中的参数数据类型兼容。
现在使用db2 call number_of_orders(‘Shipped’,current date, ?) 调用number_of_orders过程。
图 15. 使用CALL语句调用number_of_orders过程
使用SQL Explain Facility和DB2 Access Plan
SQL Explain Facility 属于 SQL 编译器,您可以使用它捕捉关于编译静态或动态 SQL语句的环境的信息。捕捉这些信息可以评估关于 SQL语句的结构及性能的各项因素,包括成本信息、处理查询所需的操作的顺序、断言和选择性评估,以及在解释 SQL语句时引用的所有对象的统计信息。
这些信息将帮助您了解:
为查询选择何种执行计划
可以执行哪些更改以优化 SQL代码
是否需要更改或添加数据库结构以实现更好的性能
是否应当重新绑定应用程序
在DB2 引擎处理查询时,DB2 优化器将生成若干个访问所请求数据的备选计划。优化器将评估每个计划的执行成本并选择成本最低的计划来执行。此计划被称为访问计划。
DB2 Query Access Plan 是开发过程的重要方面,因为编写的 SQL代码的效率总是十分重要。无论您是在开发新代码、在现有的数据库应用程序中实现更改、升级到新版 DB2,还是进行一般性的性能优化,使用访问计划是确保SQL代码拥有足够性能的最佳方式。
DB2提供了多个可用于生成和检索这些重要信息的工具(既有可视化工具又有命令行工具)。最常用的工具包括:
DB2 Control Center和Command Editor 中的 Visual Explain
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接