聯繫我們

課程簡介

應用程式調優方法論

資料庫與實例架構

  • 伺服器進程
  • 記憶體結構 (SGA, PGA)
  • 解析與共享游標
  • 數據文件、日誌文件、參數文件

命令執行計劃分析

  • 假設性計劃 (EXPLAIN PLAN, SQLPlus AutoTrac XPlane)
  • 實際執行計劃 (V $ SQL_PLAN, XPlane, AWR)

監控效能並尋找進程中的瓶頸

  • 通過系統字典視圖監控實例的當前狀態
  • 歷史字典監控
  • 應用程式追蹤 (SQLTrace, TkProf, TreSess)

最佳化過程

  • 成本最佳化特性與規範
  • 確定最佳化策略

通過以下方式控制基於成本的最佳化器:

  • 會話參數與實例參數
  • 提示 (hints)
  • 查詢計劃模式

統計數據與直方圖

  • 統計數據與直方圖對效能的影響
  • 收集統計數據與直方圖的方法
  • 統計數據計算與估計策略
  • 統計數據管理:阻塞、複製、編輯、自動收集、監控變更
  • 動態數據抽樣(臨時表、複雜預言)
  • 基於表達式的多列統計數據
  • 系統統計數據

資料庫的邏輯與物理結構

  • 表空間 (Tablespaces)
  • 分區段 (Segments)
  • 延伸區 (EXTENTS)
  • 區塊 (Blocks)

數據儲存方法

  • 表的物理方面
  • 臨時表
  • 索引表
  • 外部表
  • 分區表(範圍、字母、雜湊、混合)
  • 表的物理重組

物化視圖與 QUERY REWRITE 機制

數據索引方法

  • 建立 B-TREE 索引
  • 索引特性
  • 索引類型:唯一、多列、函數、反向
  • 索引壓縮
  • 索引重建與合併
  • 虛索引
  • 私有索引與公共索引
  • 位圖索引及交匯

案例研究 - 全掃描數據

  • 表級與區塊級讀取效能對位置的影響
  • 常規路徑與直接路徑數據載入
  • 預言順序

案例研究 - 通過索引訪問數據

  • 索引讀取方法 (UNIQUE SCAN, RANGE SCAN, FULL SCAN, FAST FULL SCAN, MIN / MAX SCAN)
  • 使用函數索引
  • 索引選擇性 (Clustering Factor)
  • 多列索引與 SKIP SCAN
  • NULL 值與索引
  • 索引組織表 (IOT)
  • DML 操作對索引的影響

案例研究 - 排序

  • 記憶體排序
  • 索引排序
  • 語言排序
  • 熵對排序的影響 (Clustering Factor)

案例研究 - 連接與子查詢

  • 連接類型:MERGE, HASH, NESTED LOOP
  • OLTP 與 OLAP 系統中的連接
  • 切換順序
  • 外部連接 (Outer Joins)
  • 反連接 (Anti-join)
  • 不完全連接 (SEMI)
  • 簡單子查詢
  • 相關子查詢
  • 視圖與 WITH 子句

基於成本的最佳化器的其他操作

  • 緩衝排序 (Buffer Sort)
  • INLIST
  • VIEW
  • FILTER
  • Count Stop Key
  • 結果快取 (Result Cache)

分散式查詢

  • 讀取使用 dblink 的查詢計劃
  • 選擇主導標記 (Leading Hint)

並行處理

最低要求

  • 能夠自由使用 SQL 基礎知識,並熟悉 Oracle 資料庫環境(建議已完成 Oracle 11g 培訓,例如「面向程式設計師的原生 SQL - 工作坊」)
  • 具備使用 Oracle 的實務經驗
 28 小時

客戶評論 (2)

課程分類