1. 程式人生 > 其它 >高效能MySql學習筆記-第三章

高效能MySql學習筆記-第三章

這一章主講了效能剖析,對於我這種大廠的業務研發螺絲釘而言著實用不太上,簡單記幾個點。

  • 定義效能最有效的方法是響應時間

  • 測量的最佳開始點是應用程式,而不是資料庫

  • 優化和提升是兩回事,當繼續提升的成本超過收益的時候,應當停止優化

  • SHOW PROFILE命令

    1. SHOW PROFILE命令是MySQL5.1以後引入的,預設是禁用的,可以通過SET profiling = 1;在會話級別動態修改。

    2. 執行完一條語句後,可以通過SHOW PROFILES;命令檢視該條語句的效能分析

    3. 還是可以通過指定query id 查詢具體某個query每個步驟的消耗 , 如:SHOW PROFILE FOR QUERY 1;


    4. 如果需要對結果進行一些格式化輸出,可有直接訪問INFORMATION_SCHEMA中的PROFILING表,如:SELECT * FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID = 1;

  • SHOW STATUS命令

    1. SHOW STATUS 命令返回一些資料庫操作的執行次數,相當於一個計數器。如果使用SHOW GLOBAL STATUS命令,則可返回自伺服器啟動時,所有計算的查詢次數統計。需要注意的是,部分全域性計數器也會出現在SHOW STATUS的結果中,所以不要篤定SHOW STATUS是會話級別的結果。
  • SHOW PROCESSLIST

    命令

    1. SHOW PROCESSLIST可以用來查詢執行緒的狀態,以發現是否有大量執行緒出於不正常的狀態。
  • 作者在本章的最後詳細講述了為一個客戶排查解決問題的過程,問題的詳細原因可能對我們不太有借鑑意義。但是排查問題的思路和意識是值得我們學習的。