
Oracle10g應用優化培訓
引子 簡單SQL的性能誤區
講述一些SQL使用技巧,描述開發人員容易出錯或者低效的一些SQL語句寫法,通過案例分析提高是開發人員SQL的書寫能力。下面的SQL部分重點講解一些有多年開發經驗的開發人員也會忽略的SQL技巧和性能要點。
1、簡單SQL的性能誤區
一些SQL使用技巧,錯誤或者低效的一些SQL語句寫法,通過0racle內部性能優化工具展示不為我們所關注的那些性能隱患
2、集合操作、GR0UP BY 子句的增強以及一些影響性能的子查詢
3、數據操作的性能影響
了解影響DML操作的性能因素,分析鎖競爭對DML性能下降的影響,以及其他可能帶來DML慢的原因。
培訓主題一、應用優化思路與優化工具
1、數據庫應用調優概述
海量數據庫優化的思路和一些誤區
優化的三個階段以及各階段的步驟和方法
了解整個系統構建過程中各部分對性能的影響以及有哪些可以優化的部分,尤其對海量數據庫的架構設計、E-R模型設計及開發中的一些性能要點進行了詳細說明
大數據量數據庫不同類型應用優化的方向和方法,根據應用需求確定優化方向,對大數據訪問及高并發訪問的應用優化方向進行分析
優化的基本步驟、方法以及注意事項
2、優化工具介紹
性能優化的七種,通過各種案例學習如何通過0racle提供給我們的工具發現、分析、解決性能問題:
診斷性能問題的幫手:Statspack與AWR/ADDM,提供性能信息收集與性能差異報告,通過結合客戶的性能差異報告掌握如何進行性能問題分析與診斷
培訓主題二、數據庫應用優化——應用存儲優化
1、從性能的角度分析如何用好你的表:
怎么選擇表
從作用上分析如何選擇表和臨時表
從數據訪問需求上,根據分區表、索引組織表、聚簇表或者普通表對性能的影響,選擇合理的數據存儲方法
從數據特征上考慮字段類型選擇
從競爭和I/0需求上考慮表的存儲參數和屬性設置
怎么管理表
松散表的判斷方法,解決松散表的move與shrink的執行效率和性能影響
培訓主題三、數據庫應用優化——應用SQL優化
1、SQL語句的處理過程
了解Sql語句的優化思路和優化重點
分析0racle數據庫中SQL語句的處理過程,了解SQL解析、執行、取操作的每個環節對性能的影響,掌握SQL硬解析對性能的影響和優化硬解析的方法
2、CB0和RB0介紹
了解決定SQL語句執行計劃生成方法的優化模式,并選擇適合的優化模式以便得到正確的執行計劃,對比CB0、RB0各自適合的場景
3、優化SQL語句的相關工具
了解數據庫Sql語句的優化方法,通過相關工具定位具有高影響力的SQL,收集SQL語句的統計信息和執行計劃,分析執行計劃的正確性,對比統計信息,選擇佳執行計劃。涉及到的SQL優化工具包括:
提供SQL優化集的Statspack與awr
使用Explain plan分析執行計劃
通過autotrace分析故障語句的執行計劃和統計信息
通過Sql trace查找有性能問題的SQL語句
通過10g的Sql tunning advise自動分析語句性能
通過10g的Sql access advise自動分析語句算法
4、數據訪問方法(大量案例演示):
介紹執行計劃中的數據訪問方法以及各自的優缺點
分析索引加速查詢的原理,確定索引與全表掃描到底如何選擇
確定哪些因素影響索引訪問的性能
索引適合建立在哪些字段上
B*tree索引與位圖索引的選擇
DML操作對索引的影響,以及如何設置索引的存儲參數和屬性
索引無效的原因以及如何書寫語句以便選擇正確的執行計劃
如何通過索引加快C0UNT
對比hash join、nest loop、sort merge這三種奪表連接算法的優劣
對物化視圖進行分析,確定這種快的數據訪問方法的特點和使用場景,并通過案例說明這些數據訪問方法對性能的影響
5、收集統計信息
通過analyze或者dbms_stats方法收集統計信息
理解各種統計信息對性能有何種影響
分析綁定變量與統計信息的關系,確定使用綁定變量優化解析適合的場景
6、應用或者強制執行計劃)
通過對語句的修改影響RB0下的執行計劃,通過修改參數值影響CB0生成的執行計劃,通過hints直接強制執行計劃
7、Sql語句優化經驗
將實際經驗中總結出的Sql使用方法和經驗進行講解,讓大家了解什么樣的Sql語句是比較好的語句,以及如何判斷語句性能的問題