1. 程式人生 > 其它 ># MySQL效能優化技巧

# MySQL效能優化技巧

特別說明:

本文轉自 https://www.extlight.com/2017/10/07/MySQL-%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E6%8A%80%E5%B7%A7/

一、背景

最近公司專案新增新功能,上線後發現有些功能的列表查詢時間很久。原因是新功能用到舊功能的介面,而這些舊介面的 SQL 查詢語句關聯5,6張表且編寫不夠規範,導致 MySQL 在執行 SQL 語句時索引失效,進行全表掃描。原本負責優化的同事有事請假回家,因此優化查詢資料的問題落在筆者手中。筆者在查閱網上 SQL 優化的資料後成功解決了問題,在此從全域性角度記錄和總結 MySQL 查詢優化相關技巧。

二、優化思路

資料查詢慢,不代表 SQL 語句寫法有問題。 首先,我們需要找到問題的源頭才能“對症下藥”。筆者用一張流程圖展示 MySQL 優化的思路:

無需更多言語,從圖中可以清楚地看出,導致資料查詢慢的原因有多種,如:快取失效,在此一段時間內由於高併發訪問導致 MySQL 伺服器崩潰;SQL 語句編寫問題;MySQL 伺服器引數問題;硬體配置限制 MySQL 服務效能問題等。

三、檢視 MySQL 伺服器執行的狀態值

如果系統的併發請求數不高,且查詢速度慢,可以忽略該步驟直接進行 SQL 語句調優步驟。

執行命令:

show status

q

show status