既有工具僅能識別耗時 Java 方法,DSD 2.1 進一步揭露每條 SQL 的執行次數、總/最長/最短/平均耗時,無論使用 pureQuery、JDBC 或其他框架皆適用。
透過此資訊快速鎖定受益於優化的 SQL 與問題 SQL。
myDSDPrj,匯入 TutMod.java、Util.java 至 db2jcc.example 套件TutMod.java 第 66 行綱要設定TutMod.java Run > Run Configurations 選 pureQuery 設定參數執行,收集 SQL 與效能資訊

DB2 for z/OS 環境可搭配 DB2 Optimization Expert 獲得專家建議,新版共享 Shell 可在 pureQuery XML 編輯器與 Optimization Expert 間複製優化語句。
受控編輯器可用等效且更優的語句替換現有 SQL,自動驗證等效性並拒絕不合規語句。支援利用新索引、限制回傳列、加入 ORDER BY 等優化。
capture.pdqXML,右鍵 SELECT 語句選 EditSELECT ... FETCH FIRST 2 ROWS ONLYpdq.properties:captureMode=OFF、pdq.enableDynamicSQLReplacement=TRUE

可獲得現有/新 JPA 應用發出的所有 SQL 與 JPAQL 資訊,無縫使用靜態 SQL 免改代碼。DB2 環境可用 WebSphere 7 靜態產生器(wsdb2gen)收集 SQL,DSD 2.1 內建工具簡化流程(需 WAS 7 Fixpack 3)。
com.ibm.ws.jpa.jarpersistence.xml 右鍵 pureQuery > Generate pureQueryXML filepdq.properties 設 captureMode=ON 執行應用收集運行時動態 SQLpureQuery Runtime 2.1 支援 C#/VB.NET 等 .NET 語言,提升穩定性、安全性、易管理性:
captureMode=on;pureQueryXML=path/filename:collection=collName;rootpackage=pkgNameDB2cap 從捕獲 SQL 綁定建立靜態套件executionMode=STATIC:captureMode=OFFDSD 2.1 pureQuery Outline Database/Java 索引標籤自動顯示應用中所有硬編碼 SQL(含未執行的 UPDATE/DELETE),雙擊即定位至 Java 原始碼(JDBC PreparedStatement 或 executeUpdate 位置)。

TutMod.java 中 basicUpdate 調用pdq.properties 設 captureMode=ON、pdq.enableDynamicSQLReplacement=false
關閉非應用專案,DSD 2.1 自動聚焦當前應用所有 SQL 資訊。支援批量自下而上代碼生成:一次選多張表(如 DEPARTMENT、EMPLOYEE)生成 pureQuery 代碼,Outline 即可追蹤「哪個 SQL 使用某表、在 Java 何處被呼叫」與「Java 類發出什麼 SQL、從哪裡發出」。

(.*SELECT.*) 找出所有 SELECT、(.*ABS.*) 找用 ABS 函數的 SQL<SCHEMA>.STAFF.ID 找使用 STAFF.ID 欄的所有 SELECT

Database 索引標籤展開 SELECT 可見「應用中的 SQL」與「實際發送到資料庫的 SQL」對比(如前節優化替換後的語句)。

Java 索引標籤展開 SQL 可見 定義位置(PreparedStatement)與 執行位置(executeQuery),DELETE 語句直指預備/執行該行。

右鍵欄位(如 DEPTNO)選 Source Code Analysis > Analyze column value Dependency,pureQuery Analysis 視圖呈現值從資料庫擷取、在應用中流轉、寫回資料庫或列印的完整路徑。

以往手工建立部署綁定屬性、無法預先驗證。DSD 2.1 可集中維護/共享 .bindProps,Add/Remove Entries 選單自動驗證條目有效性(偵測刪除/重命名導致的失效),一鍵移除無效項。測試綁定後產生 JAR 部署。

打包 src 與 pureQuery 資料夾為 JAR,右鍵 pureQuery > Bind。僅在必要時執行綁定,局部變更避免不必要的重新綁定。
1.x 僅顯示有限資訊,2.1 透過工具與命令列精確回報失敗的套件與原因,大幅縮短除錯時間。
.sql 檔,右鍵 Generate pureQuery code 批量產生資料存取層.sql 檔,同樣右鍵生成 pureQuery 代碼,便利從 JDBC/框架遷移至 pureQuery API.sql 檔同樣適用Window > Preferences > Data Management > SQL Development > pureQuery 設定 Runtime jar 位置。
一處定義連線,導入其他 Eclipse 基礎工具共享,免重複建立。
開啟舊工作區自動遷移連線,Window > Reset perspective 重置透視圖,專案右鍵 Upgrade project 遷移 pureQuery Runtime。
captureMode=ON executeMode=DYNAMIC pureQueryXML=pureQueryFolder/capture.pdqXML capturedOnly=false 執行應用收集所有 SQL 至 capture.pdqxmlcaptureMode=OFF capturedOnly=true 僅允許執行已捕獲的 SQL(動態/靜態皆受限)
無理由不採用 Data Studio Developer 與 pureQuery Runtime 2.1:顯著提升開發效率、構建企業級應用、開發-DBA 協作減少生產效能事故、靜態 SQL 降低 DB2 CPU 成本、最大化既有投資價值。