資料庫訪問優化法則

2021-09-30 16:00:40 字數 1414 閱讀 1978

要正確的優化 sql

,我們需要快速定位能性的瓶頸點,也就是說快速找到我們 sql

,硬碟是每分鐘 7200

轉等等。因此,為了快速找到 sql

的效能瓶頸點,我們也需要了解我們計算機系統的硬體基本效能指標,下圖展示的當前主流計算機效能指標資料。

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

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

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

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

cpu—— cache(l1-l2-l3)

——記憶體—— ssd

硬碟——網路——硬碟

由於 ssd

硬碟還處於快速發展階段,所以本文的內容不涉及 ssd

相關應用系統。

根據資料庫知識,我們可以列出每種硬體主要的工作內容:

cpu及記憶體:快取資料訪問、比較、排序、事務檢測、 sql

解析、函式或邏輯運算;

網路:結果資料傳輸、 sql

請求、遠端資料庫訪問( dblink

); 硬碟:資料訪問、資料寫入、日誌記錄、大資料量排序、大表連線。

根據當前計算機硬體的基本效能指標及其在資料庫中主要操作內容,可以整理出如下圖所示的效能基本優化法則:

這個優化法則歸納為 5

個層次: 1

、 減少資料訪問(減少磁碟訪問) 2

、 返回更少資料(減少網路傳輸或磁碟訪問) 3

、 減少互動次數(減少網路傳輸) 4

、 減少伺服器 cpu

開銷(減少 cpu

及記憶體開銷) 5

、 利用更多資源(增加資源)

由於每一層優化法則都是解決其對應硬體的效能問題,所以帶來的效能提公升比例也不一樣。傳統資料庫系統設計是也是盡可能對低速裝置提供優化方法,因此針對低速裝置問題的可優化手段也更多,優化成本也更低。我們任何乙個 sql

的效能優化都應該按這個規則由上到下來診斷問題並提出解決方案,而不應該首先想到的是增加資源解決問題。

以下是每個優化法則層級對應優化效果及成本經驗參考:

優化法則

效能提公升效果

優化成本

減少資料訪問

1~1000

低 返回更少資料

1~100

低 減少互動次數

1~20

低 減少伺服器 cpu

開銷 1~5

低 利用更多資源

@~10

資料庫訪問優化法則

從圖上可以看到基本上每種裝置都有兩個指標 延時 響應時間 表示硬體的突發處理能力 頻寬 吞吐量 代表硬體持續處理能力。從上圖可以看出,計算機系統硬體效能從高到代依次為 cpu cache l1 l2 l3 記憶體 ssd硬碟 網路 硬碟 根據資料庫知識,我們可以列出每種硬體主要的工作內容 cpu及記...

訪問資料庫優化法則

減少資料訪問 減少磁碟訪問 建立並正確使用索引 只通過索引訪問資料 優化sql執行計畫 返回更少的資料 減少網路傳輸 資料分頁處理 a 應用程式分頁 客戶端或瀏覽器 a 應用伺服器分頁 客戶端或瀏覽器 a 資料庫sql分頁 客戶端或瀏覽器 只返回需要的字段 減少互動次數 減少網路傳輸 使用儲存過程 ...

資料庫優化法則

1.有可能的話,用乙個語句處理多個更新 儘量減少對同乙個表的重複訪問。2.易識別的語句有助於定位效能問題。例如給sql語句加注釋,oracle已經解決為sql語句自帶注釋的問題 3.資料庫連線和互動好似萬里長城 長度越長,傳遞訊息越耗時。4.暫時工作表意味著以不太合理的方式儲存更多資訊。臨時表的弊端...