使用 SQLJ 的應用程式效能

SQLJ 使用的靜態 SQL 的執行速度經常會比 JDBC 使用的動態 SQL 來得快。

為了處理 SQL 陳述式,資料庫伺服器會執行這些步驟:

  1. 檢查 SQL 陳述式中是否有語法錯誤,並產生任何產生的錯誤訊息。
  2. 確定陳述式中的資料庫物件存在,並且具有適當的資料類型。
  3. 最佳化 SQL 陳述式的語法, 判斷讀取或寫入陳述式所需資料的最佳存取路徑。如果是簡單的 SQL 陳述式, 最佳化可能很簡單,但如果是複雜的 SQL 陳述式,使用很多索引在很多表格上操作, 則最佳化程序可能有很多選項。
  4. 執行 SQL 陳述式。

如果使用動態 SQL,資料庫伺服器會在執行時期針對每一個 SQL 陳述式重複這些步驟(某些伺服器可以快取動態 SQL 陳述式中重覆執行的前兩個步驟的結果)。與這些步驟相關聯的處理程序會影響動態 SQL 的效能。

使用靜態 SQL 時,很多的初步工作都會在設計時間執行。 每次工作台建置 SQLJ 檔案時,SQLJ 轉換器都會執行語法及一致性檢查, 並建立對應於 SQLJ 檔案的 Java™ 程式檔。您可以利用工作台中的精靈來建立及執行 SQLJ 自訂 Script。自訂 Script 會建立包含靜態 SQL 陳述式之相關資訊的套件, 以將 Java 類別連結到資料庫。之後,當您執行應用程式時, 初步工作就已經完成了,這可以帶來較佳的效能。

相關概念
SQLJ 簡介
讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.