從圖上可以看到基本上每種裝置都有兩個指標:
延時(響應時間):表示硬體的突發處理能力;
頻寬(吞吐量):代表硬體持續處理能力。
從上圖可以看出,計算機系統硬體效能從高到代依次為:
cpu——cache(l1-l2-l3)——記憶體——ssd硬碟——網路——硬碟
根據資料庫知識,我們可以列出每種硬體主要的工作內容:
cpu及記憶體:快取資料訪問、比較、排序、事務檢測、sql解析、函式或邏輯運算;
網路:結果資料傳輸、sql請求、遠端資料庫訪問(dblink);
硬碟:資料訪問、資料寫入、日誌記錄、大資料量排序、大表連線。
這個優化法則歸納為5個層次:
1、 減少資料訪問(減少磁碟訪問)
2、 返回更少資料(減少網路傳輸或磁碟訪問)
3、 減少互動次數(減少網路傳輸)
4、 減少伺服器cpu開銷(減少cpu及記憶體開銷)
5、 利用更多資源(增加資源)
由於每一層優化法則都是解決其對應硬體的效能問題,所以帶來的效能提公升比例也不一樣。傳統資料庫系統設計是也是盡可能對低速裝置提供優化方法,因此針對低速裝置問題的可優化手段也更多,優化成本也更低。我們任何乙個sql的效能優化都應該按這個規則由上到下來診斷問題並提出解決方案,而不應該首先想到的是增加資源解決問題。
以下是每個優化法則層級對應優化效果及成本經驗參考:
優化法則
效能提公升效果
優化成本
減少資料訪問
1~1000
低返回更少資料
1~100
低減少互動次數
1~20
低減少伺服器cpu開銷
1~5低
利用更多資源
@~10
高
訪問資料庫優化法則
減少資料訪問 減少磁碟訪問 建立並正確使用索引 只通過索引訪問資料 優化sql執行計畫 返回更少的資料 減少網路傳輸 資料分頁處理 a 應用程式分頁 客戶端或瀏覽器 a 應用伺服器分頁 客戶端或瀏覽器 a 資料庫sql分頁 客戶端或瀏覽器 只返回需要的字段 減少互動次數 減少網路傳輸 使用儲存過程 ...
資料庫訪問優化法則
要正確的優化 sql 我們需要快速定位能性的瓶頸點,也就是說快速找到我們 sql 硬碟是每分鐘 7200 轉等等。因此,為了快速找到 sql 的效能瓶頸點,我們也需要了解我們計算機系統的硬體基本效能指標,下圖展示的當前主流計算機效能指標資料。從圖上可以看到基本上每種裝置都有兩個指標 延時 響應時間 ...
資料庫優化法則
1.有可能的話,用乙個語句處理多個更新 儘量減少對同乙個表的重複訪問。2.易識別的語句有助於定位效能問題。例如給sql語句加注釋,oracle已經解決為sql語句自帶注釋的問題 3.資料庫連線和互動好似萬里長城 長度越長,傳遞訊息越耗時。4.暫時工作表意味著以不太合理的方式儲存更多資訊。臨時表的弊端...