oracle 最佳化經驗總結
晚上下班,和oracle最佳化高手一起坐下來聊聊。
1、關注訪問頻繁的表,現在的儲存已經可以非常分散的儲存資料,所以可以對訪問頻繁的表以及涉及到的sql進行特別關注。statspack的sql排序要根據執行次數、邏輯讀等等多個緯度去衡量,這部分sql要是能夠處理好,資料庫的load會得以控制。
2、oltp系統的sql的業務範圍界定,他不是做報表的用途,特點是每次處理的資料量比較小,能夠比較快的處理完畢,這是一個原則。統計型別的如果非要必須,儘量減小其訪問資料的範圍,或者是將這樣的大量資料的統計工作放到業務比較閒的時候做,這一點要推動業務需求方和老闆們知曉。
3、降低sql的邏輯讀,盡最大能力降低sql的邏輯讀。每個sql的邏輯讀其實可以大體估算,就拿nl型別的執行計劃來說,其每次得到一條記錄都是要花費4個邏輯讀的樣子,這樣就可以估算出大體的整個結果集出來之後的邏輯讀是多少。
4、提高索引的效果,為什麼這樣講呢?索引對於oltp系統來講,可以決定著資料庫系統的load高低。例如兩個索引都是有4個欄位,而且欄位相同,這時候如何處理好各個欄位的順序關係,非常重要,決定使用哪一個索引和減少訪問索引和表的次數也非常重要。比如說一條sql同時出現兩個欄位(其他還有附加欄位),這兩個欄位的選擇性a大於b三倍多,而a在sql中的使用是 a in (:1,:2,:3,:4),這樣,而b在sql語句中是b=:5,這樣一個索引如何建更好呢?
5、儘量使用統計資訊去影響執行計劃,如果統計資訊達不到效果或者是有特別的需要,這時可以加hint,因為使用hint之後dba很難改變其計劃,發生事情時不好控制。
6、最佳化sql,最佳化sql。。。。。。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7312700/viewspace-1005853/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java集合類操作最佳化經驗總結Java
- dashBoard 經驗總結 --DBD 失真問題的最佳化
- 工作經驗總結
- 9大效能最佳化經驗總結,強烈建議收藏!
- 做題經驗總結
- 考試經驗總結
- Android開發經驗總結Android
- Git Flow 使用經驗總結Git
- iOS開發經驗總結iOS
- Flutter 介紹 & 經驗總結Flutter
- mysql索引使用經驗總結MySql索引
- 工作經驗日常總結===20241105
- 日常專案經驗總結
- IT職場管理經驗總結
- Elasticsearch 實戰經驗總結Elasticsearch
- iOS開發經驗總結2iOS
- iOS開發經驗總結3iOS
- vue移動端經驗總結Vue
- 《軟體專案經驗總結》
- 計算機考研經驗總結計算機
- 我的刷題經驗總結
- Forge雲服務的本地化經驗總結與最佳化實戰
- 經驗總結|我們如何進行Alibaba.com買家效能最佳化?
- MySQL/Oracle資料庫最佳化總結(非常全面)MySqlOracle資料庫
- JMeter測試WebSocket的經驗總結JMeterWeb
- Windows RocketMQ使用方法經驗總結WindowsMQ
- 使用 Golang 寫爬蟲經驗總結Golang爬蟲
- 經驗總結1—資料核對
- 線上寫壓測經驗總結
- AOT使用經驗總結m8
- 總結Django一些開發經驗Django
- 常用快取系統使用經驗總結快取
- 這兩天的面試經驗總結面試
- Mask RCNN測試過程經驗總結CNN
- MMORPG技能管線設計經驗總結
- 跳槽!3年Java面試經驗總結Java面試
- Java反射機制開發經驗總結Java反射
- 後端應用分層經驗總結後端
- 普通人的校招經驗總結