WEB开发网
开发学院数据库DB2 DB2 for i5/OS上的SQL性能优化目标评测 阅读

DB2 for i5/OS上的SQL性能优化目标评测

 2009-12-12 14:58:02 来源:WEB开发网   
核心提示:本文的目的不是对优化目标的设置进行深入的讨论,但是对此作一个简要的描述可能对某些读者有用,DB2 for i5/OS上的SQL性能优化目标评测(2),通过将优化目标指定为 FIRSTIO,应用程序可以迫使查询更快地返回第一页结果的输出,然后,使用 CL 前缀调用包含 CLI 调用的 C 程序,若优化目标为 ALLIO,

本文的目的不是对优化目标的设置进行深入的讨论,但是对此作一个简要的描述可能对某些读者有用。通过将优化目标指定为 FIRSTIO,应用程序可以迫使查询更快地返回第一页结果的输出。若优化目标为 ALLIO,则可以以最短的时间完成整个查询。为了直观地理解这些选项,可以将 FIRSTIO 选项比作自行车,而将 ALLIO 选项比作飞机。如果是去很近的地方,那么自行车也许是最好的选择,因为基本上没有启动成本。但是,如果要去比较远的地方,虽然启动成本较高,飞机仍然是更好的解决方案。对距离的理解,或者说对查询的输出行为的理解,对于为不同查询选择最有效的选项是至关重要的。

本文的目的之一是执行一些查询并测试两种优化设置(FIRSTIO 和 ALLIO)的性能,从而来证明 CLI 环境中新设置的实际实现。可以肯定的是,iSeries Navigator 的 SQL Performance Monitor 特性对于测量查询的启动时间、取数据时间和总响应时间以及优化器的实现是一个有用的工具。我编写了一个 CLI 程序,用于以任意一种优化目标设置来运行 SQL 查询。程序中为新的连接属性提供了 CLI 常量、SQL_FIRST_IO 和 SQL_ALL_IO。

清单 1. 控制优化目标的 CLI 示例代码

attr = SQL_FIRST_IO;
rtnc = SQLSetConnectAttr(hdbc,SQL_ATTR_QUERY_OPTIMIZE_GOAL,&attr,0);

iSeries Navigator 的 SQL 性能工具

可以通过在 图 1 所示的下拉菜单中选择 Monitor > Start SQL Performance Monitor 任务,从 iSeries Navigator Run SQL scripts 界面中启动 SQL Performance Monitor。然后,使用 CL 前缀调用包含 CLI 调用的 C 程序,以发出一个 i5/OS CALL 命令。

图 1. Run SQL Scripts 界面

上一页  1 2 

Tags:DB for OS

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