高效能MySql學習筆記-第三章
阿新 • • 發佈:2021-10-30
這一章主講了效能剖析,對於我這種大廠的業務研發螺絲釘而言著實用不太上,簡單記幾個點。
-
定義效能最有效的方法是響應時間
-
測量的最佳開始點是應用程式,而不是資料庫
-
優化和提升是兩回事,當繼續提升的成本超過收益的時候,應當停止優化
-
SHOW PROFILE
命令-
SHOW PROFILE
命令是MySQL5.1以後引入的,預設是禁用的,可以通過SET profiling = 1;
在會話級別動態修改。
-
執行完一條語句後,可以通過
SHOW PROFILES;
命令檢視該條語句的效能分析
-
還是可以通過指定query id 查詢具體某個query每個步驟的消耗 , 如:
SHOW PROFILE FOR QUERY 1;
-
如果需要對結果進行一些格式化輸出,可有直接訪問INFORMATION_SCHEMA中的PROFILING表,如:
SELECT * FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID = 1;
-
-
SHOW STATUS
命令SHOW STATUS
命令返回一些資料庫操作的執行次數,相當於一個計數器。如果使用SHOW GLOBAL STATUS
命令,則可返回自伺服器啟動時,所有計算的查詢次數統計。需要注意的是,部分全域性計數器也會出現在SHOW STATUS
的結果中,所以不要篤定SHOW STATUS
是會話級別的結果。
-
SHOW PROCESSLIST
SHOW PROCESSLIST
可以用來查詢執行緒的狀態,以發現是否有大量執行緒出於不正常的狀態。
-
作者在本章的最後詳細講述了為一個客戶排查解決問題的過程,問題的詳細原因可能對我們不太有借鑑意義。但是排查問題的思路和意識是值得我們學習的。