以下章节将说明在使用 Net.Data 提供的语言环境时可用于改进性能的技术。
使用以下技巧来改进 Net.Data 应用程序的性能:
在本节中,将描述一些有关数据库和 SQL 语言环境的性能技术。要了解有关 DB2 的性能注意事项,请访问以下 Web 站点:http://review.ibm.com/software/data/db2/performance。
以下总结概述了一些可以改进数据库访问的最简单的数据库技术:
例如,EDUCLVL 是一个半字整数值 (SMALLINT)。指定:
... WHERE EDUCLVL < 11 AND EDUCLVL >= 2
来取代:
... WHERE EDUCLVL < 1.1E1 AND EDUCLVL > 1.3
例如,EMPNO 是 CHAR(6),DEPTNO 是 CHAR(3)。指定:
... WHERE EMPNO > '000300' AND DEPTNO < 'E20'
来取代:
... WHERE EMPNO > '000300 ' AND DEPTNO < 'E20 '
... WHERE LASTNAME LIKE 'J%SON%'
当然,用于字符串开头时,LIKE 模式可以防止 DB2 使用任何可能在 LASTNAME 列上定义的索引,从而限制扫描的行数。例如:
... WHERE LASTNAME LIKE '%SON'
避免在字符串的开始处使用这些符号,特别是在访问非常大的表时。
注意,因为在多个请求中游标的位置并非保持不变,所以 Net.Data 要对每页重新发出查询。
将仅用于输入的参数直接传送给 System 或 Perl 语言环境正在调用的程序。这可以通过定义并引用全局的 Net.Data 变量来实现。对于外部的程序和 Perl 脚本,可以在 %EXEC 语句中从命令行引用这些变量。对于内联的 Perl 脚本,可以在 Perl 源代码中直接引用这些变量。而且,为避免启动 perl 解释器的开销,应考虑使用 MACRO_FUNCTION 块来代替 Perl 脚本。