資料庫訪問優化法則

2021-08-23 12:14:38 字數 968 閱讀 9595

從圖上可以看到基本上每種裝置都有兩個指標:

延時(響應時間):表示硬體的突發處理能力;

頻寬(吞吐量):代表硬體持續處理能力。

從上圖可以看出,計算機系統硬體效能從高到代依次為:

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.暫時工作表意味著以不太合理的方式儲存更多資訊。臨時表的弊端...