在以下章节中,将说明一些有关数据库和 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 要对每页重新发出查询。
因为 Net.Data 使用变量替代来优化查询,所以请在 SQL 语句中正确地处理单引号。例如,若列返回一个字符串, 则使用 DTW_ADDQUOTE() 函数来将字符串的单引号转义。