减少与 DB2 for z/OS 的会话:第 2 部分(更多经过检验的基础知识和一些新的编程技巧)
2010-06-16 00:00:00 来源:WEB开发网在之前的专栏中,我提到过不必要的 SQL。目标是让程序员停下来想想每条语句,确定在某个特定的时间它是完全必要的。我展示了两类 SQL 示例:一类是可以完全去掉的 SQL;另一类 SQL 可以延迟到之后某个合适的时间,然后只在仍然必要的时候执行。
在本期的专栏中,我将继续提供一些 SQL 示例,包括执行太过频繁以及可以使用新的、更好的 SQL 替换的 SQL 示例。现在,欢迎进入减少与 IBM DB2 会话的第二部分(共三部分)。
经过验证的技术
控件中断逻辑
编写程序,尤其是批量程序时我们应该遵守的性能基本规则之一是,在可能时使用控件中断逻辑。这不是一个专门的 DB2 概念 —— 它只是一个好的编程实践。查看控件中断或值的更改,可以减少与 DB2 的连接,因为您只有在担心它与上次查询的值不同时才在表格中查询值。
优化控件中断逻辑要求以特定的顺序输入数据;例如,ITEM 位于 STORE 中,STORE 位于 REGION 中。但是,即使输入数据以特定的顺序存储,也可以使用中断逻辑,确保 REGION 需要的任何 SQL 都只对每个 REGION 执行一次;对于 STORE,只对该 REGION 的每个 STORE 执行一次;对于 ITEM,只对该 STORE 中的每个 ITEM 执行一次。
顺便提一下,DB2 执行的引用完整性不使用控件中断逻辑。对每个 INSERT、UPDATE、DELETE 和 MERGE 检查外键值,即使目标列值与之前执行了 INSERT(等操作)的行中的值相同。使用程序执行的引用完整性时,我们可以选择只在目标列值与前一个行中的值不同时进行验证;即在控件中断时验证。
将小型引用表预先加载到程序内存
性能优化的另一个基本规则是将小型引用表预先加载到工作存储表(当这样做恰当时),以避免不必要地多次连接 DB2。
- ››减少电脑关机的时间
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››Form Reset Function
- ››db2 命令选项解释
- ››FOREACH 宏之GCC实现
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
更多精彩
赞助商链接