MySQL優化之SQL優化的層次和步驟

2021-10-05 04:18:48 字數 873 閱讀 2148

目錄

mysql常見的瓶頸問題

優化金字塔

優化的四個層次

作為開發者sql優化的步驟

在該金字塔中,優化的成本從下而上逐漸增高,優化的效果從上到下逐漸增高

a、sql及索引優化根據需求寫出良好的sql,並建立有效的索引,實現某一種需求可以多種寫法,這時我們就要選擇效率最高的寫法。

b、資料庫表結構優化

根據資料庫的正規化,設計表的結構,表結構設計的好壞直接關係到寫sql語句

c、系統配置優化

在linux伺服器中,對tcp連線數限制、開啟檔案數限制、安全性限制等

d、硬體配置優化

選擇適合資料庫服務的cpu,更快的io,更高的記憶體等

1.執行sql前開啟慢查詢一般設定成超過5秒的就是慢sql,把它抓取處理2.使用explain+慢sql分析3.使用更加強大的show profile查詢sql在mysql伺服器裡執行的細節和生命週期情況4.開發者調優

5.sql資料庫伺服器的引數化調優(運維)

mysql優化之sql優化原則

原則一 選擇需要優化的sql 1 選擇更需要優化的sql 高併發 低消耗的sql。例項 a語句 1小時請求1w次,1次10個io b語句 1小時請求10次,1次1w個io 1 從單位時間產生的io總數來說,相同的 2 針對乙個sql,如果我能把10個io變成7個io,一小時減少3w個io 針對第二個...

MySQL優化 SQL優化

其實sql語句的優化核心就在避免全表掃瞄上面 對查詢語句優化,避免全表掃瞄 首先應考慮在where及order by涉及的列上建立索引 避免在where子句中對字段進行表示式和函式操作 避免where進行null 等運算導致的全表掃瞄 在group by後面增加order by null就可以防止g...

MySQL之SQL優化 二

建立更好的索引 1.覆蓋索引,當qep在extra列中顯示using index時,不意味訪問底層資料庫時使用了索引,他代表只有這個索引才是足查詢要求的。這種索引可以為大型查詢或者頻繁執行的查詢帶來顯著的效能提公升,稱為覆蓋索引,故名思義,因為他滿足了查詢中給定表用到的所有列。要建立乙個覆蓋索引,他...