在隨後各節中,將描述某些關於資料庫及 SQL 語言環境的執行效能技術。若要瞭解 DB2 執行效能的注意事項,請探訪這個網站: 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() 函數跳出字串的單引號。