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

DB2 開發運維必備 20 條實戰命令與技巧速查表

     編輯:DB2 教學

字符串與基礎操作

  1. 字符串拼接:||(如 'Hello' || 'World')
  2. 快速清空大表:
    • DELETE FROM test 記日誌、慢
    • IMPORT FROM /dev/null OF DEL REPLACE INTO test 較快
    • ALTER TABLE test ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE 最快、不記日誌
  3. 導出/導入:支持 IXF、DEL 格式
    EXPORT TO file.del OF DEL SELECT * FROM tab
    IMPORT FROM file.del OF DEL INSERT INTO tab
  4. 檢查表是否存在:
    SELECT * FROM SYSIBM.SYSTABLES WHERE LOWER(NAME) = 'tab_name'

鎖與並發處理

  1. 鎖定排查:
    db2 connect to db
    db2 "get snapshot for locks on db"
    db2 terminate
    # 找到 application handle
    db2 "force application (handle)"

存儲過程與腳本執行

  1. 創建存儲過程指定終止符:
    db2 -td@ -vf proc.sql  -- @ 為過程內定義的終止符

統計與性能

  1. 收集統計信息(含分佈/詳細索引):
    RUNSTATS ON TABLE schema.tab WITH DISTRIBUTION AND DETAILED INDEXES ALL
  2. 截取全庫快照:
    db2 connect to db
    db2 "update monitor switches using lock on sort on bufferpool on uow on table on statement on"
    db2 "get snapshot for all on db"

常用查詢技巧

  1. 查看存儲過程定義:SELECT PROCNAME, TEXT FROM SYSIBM.SYSPROCEDURES
  2. 列出所有表:LIST TABLES
  3. 字符定位:LOCATE('y', 'xyz') 返回位置(從 1 開始)
  4. 日期天數差:DAYS(DATE('2007-03-01')) - DAYS(DATE('2007-02-28'))(基準 0001-01-01)
  5. 跨實例表別名:CREATE ALIAS local_tab FOR remote_inst.remote_tab
  6. 查看表結構:DESCRIBE TABLE tab 或 DESCRIBE SELECT * FROM tab

數據庫狀態控制

  1. 重啟數據庫:RESTART DATABASE db_name
  2. 激活數據庫:ACTIVATE DATABASE db_name(預熱內存,避免首次連接延遲)
  3. 停用數據庫:DEACTIVATE DATABASE db_name
  4. 重命名表:RENAME TABLE old_name TO new_name

序列與索引

  1. 創建序列:
    CREATE SEQUENCE order_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO CYCLE CACHE 24
  2. 查看索引詳情:DESCRIBE INDEXES FOR TABLE tab SHOW DETAIL
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved