首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 程式設計技巧全目錄 (一) - 完整章節大綱

     編輯:DB2 教學

DB2 程式設計技巧系列完整大綱

本文為系列文章總目錄,涵蓋程式設計、效能優化、物件管理、系統管理四大面向,共 10 篇文章詳細內容索引。

1. DB2 程式設計核心技巧

編號主題關鍵點
1.1CREATE PROCEDURE 後勿用 TAB 鍵只能用空格,否則編譯失敗
1.2暫存表使用限制需 USER TEMPORARY TABLESPACE;Session 級有效;多執行緒慎用;建議 WITH REPLACE
1.3取指定前 N 筆資料FETCH FIRST N ROWS ONLY;INTO 變數需用游標
1.4游標用法詳解COMMIT/ROLLBACK 關閉游標 (無 HOLD);兩種定義方式 (Handler vs FOR LOOP);WHERE CURRENT OF 更新
1.5DECODE 對應:CASE 運算式CASE WHEN ... THEN ... ELSE ... END
1.6CHARINDEX 對應:LOCATELOCATE('尋找', '來源')
1.7DATEDIFF 對應:DAYS 差值DAYS(DATE1) - DAYS(DATE2)
1.8UDF 撰寫範例參考 sqllib/samples/cli/udfsrv.c
1.9Identity 欄位建表GENERATED ALWAYS AS IDENTITY (START WITH 500 INCREMENT BY 1)
1.10空值處理:COALESCE回傳第一個非 NULL,支援多參數
1.11取得異動筆數GET DIAGNOSTICS V_CNT = ROW_COUNT (僅 INSERT/UPDATE/DELETE)
1.12SP 回傳結果集 (游標)RESULT SETS n;DECLARE CURSOR WITH RETURN TO CALLER;OPEN;呼叫端 ASSOCIATE/ALLOCATE
1.13型別轉換:CASTCAST(CURRENT TIME AS CHAR(8))
1.14SP 互相呼叫C SP 可互呼;SQL SP 可互呼;跨語言需注意
1.15C SP 參數注意事項指標處理、記憶體配置、NULL 指標檢查
1.16FENCED vs NOT FENCED隔離性 vs 效能;取得呼叫端 PID 需 NOT FENCED
1.17SP 錯誤處理:旗標變數區分 WARNINGDECLARE CONTINUE HANDLER FOR SQLWARNING + 旗標判斷
1.18IMPORT 指令需指定 Schema;MESSAGES 導向檔案
1.19VALUES 多重賦值優化合併多 SET 為單一 VALUES;不能 VALUES NULL INTO
1.20指定查詢隔離等級SELECT ... WITH UR/CS/RS/RR
1.21ATOMIC vs NOT ATOMIC原子性區塊 vs 獨立執行

2. DB2 程式設計效能注意事項

編號主題核心觀點
2.1大量資料導表EXPORT + LOAD (不寫日誌) 優於 SELECT INTO
2.2盡量寫複雜 SQLDB2 優化器強,減少 SQL 總數;Oracle 則相反
2.3SQL SP vs C SP 選擇邏輯簡單/SQL複雜→SQL SP;邏輯複雜/SQL簡單→C SP
2.4查詢優化參數DB2_HASH_JOIN=Y;DB2_RR_TO_RS=Y (降低鎖管理)
2.5避免 COUNT(*) / EXISTSSELECT INTO + Exception Handler 最快;游標計數次之

3. DB2 表與 SP 管理查詢

編號主題查詢方式
3.1看 SP 文本SELECT TEXT FROM SYSCAT.PROCEDURES WHERE PROCNAME='...'
3.2看表結構DESCRIBE TABLE ... / DESCRIBE SELECT * FROM ...
3.3表被哪些 SP 使用SYSCAT.PROCEDURES + SYSIBM.SYSDEPENDENCIES + SYSCAT.PACKAGEDEP
3.4SP 使用哪些表SYSCAT.PACKAGEDEP + SYSIBM.SYSDEPENDENCIES + SYSCAT.PROCEDURES
3.5Function 被哪些 SP 使用SYSCAT.FUNCTIONS + 相依鏈查詢
3.6一次 ALTER TABLE 加多欄位ALTER TABLE T ADD COL1 ... ADD COL2 ... ADD COL3 ...

4. DB2 系統管理實務指令

編號主題關鍵指令
4.1DB2 安裝環境變數 (Windows 98/NT)修改 autoexec.bat 設定 PATH/CLASSPATH/DB2INSTANCE/DB2PATH 等
4.2建立中文資料庫CREATE DB ... USING CODESET IBM-eucCN TERRITORY CN
4.3手動遠端編目CATALOG TCPIP NODE ...; CATALOG DB ... AS ... AT NODE ...
4.4實例啟停DB2START / DB2STOP FORCE
4.5連線管理CONNECT TO ...; CONNECT (查看目前)
4.6資料庫啟用/停用ACTIVATE/DEACTIVATE DB; 首次連線等待差異
4.7應用程式監控與強制中斷LIST APPLICATIONS SHOW DETAIL; FORCE APPLICATION (hdl/ALL)
4.8列出實例下所有資料庫LIST DATABASE DIRECTORY
4.9資料庫配置調整SORTHEAP, LOGFILSIZ, APPLHEAPSZ
4.10實例配置調整DFT_MON_LOCK ON; DIAGLEVEL 3
4.11DB2 環境變數 (SQL Routine 編譯)DB2_SQLROUTINE_COMPILE_COMMAND, DB2_SQLROUTINE_KEEP_FILES
4.12CLP 命令選項LIST/UPDATE COMMAND OPTIONS; DB2SET DB2OPTIONS=+/-C
4.13隔離等級變更DB2_SQLROUTINE_PREPOPTS; CHANGE ISOLATION TO UR
4.14參數管理速查GET DB CFG / GET DBM CFG
4.15升級後套件重綁BIND @DB2UBIND.LST; BIND @DB2CLI.LST
4.16死結分析流程DFT_MON_LOCK ON → GET SNAPSHOT FOR LOCKS → 分析 → OFF

系列文章對應

  • (一) 1.1-1.4
  • (二) 1.1-1.4 詳細
  • (三) 1.4 續 (FOR LOOP) + 1.5-1.9
  • (四) 1.10-1.14
  • (五) 1.16-2.1
  • (六) 2.2-3.6
  • (七) 3.4-4.3
  • (八) 4.4-4.7
  • (九) 4.8-4.10
  • (十) 4.11-4.16
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved