1. 程式人生 > >優化mysql數據庫的幾個步驟

優化mysql數據庫的幾個步驟

ble 技術分享 sql oba ext 記錄 索引 plain file

分析問題的幾個步驟:

  1. 開啟慢查詢日誌。

    這個步驟就是為了記錄慢查詢的sql,為下個步驟做準備,此步驟相關的知識點有如下:

    1. show variables like ‘%slow_query_log%‘; 查看慢查詢的日誌記錄是否開啟。

    2. set global slow_query_log=1; 設置慢查詢開啟。

  2. 用explain 分析sql 語句。

    ps: explain select * from temp 得到如下圖所示:

      技術分享

   通過這個步驟的分析基本能找到問題出現在哪? 主要看紅框的那幾個點(type,key,ref,extra).。應該避免type為all,這就是說這個sql是通過全表掃描查找的,key代表這個sql實際是否用到了索引,null代表沒有。ref 表示這個操作引用了那些東西,

  比如const(常量)。Extra 表示一些額外的信息。比如using index,using filesort(文件排序,盡量避免使用)。

  註釋:如何查看步驟的執行順序呢? 如果id相同,從上到下執行。如果id不同id大的先執行。

  

  3. 使用profile 來查看sql 的執行周期,看看sql的問題出錯在執行的哪個步驟上。

    1. set profiling=1; 設置profile 功能開啟。2. show profiles: 用來查看mysql 前十幾條查詢的。

      技術分享

    3.show profile for query id;

      比如:show profile for query 2; 就是 查看 第二條sql 的執行生命周期,

      技術分享

  4. 修改mysql 數據庫配置文件,這個步驟一般都是DBA 運維操作.

     這個步驟主要是修改mysql的配置文件,比如設置查詢緩沖區的大小等等。

     

優化mysql數據庫的幾個步驟