MySQL查詢效能分析

2021-09-16 21:32:59 字數 1106 閱讀 4543

剖析伺服器負載方法

步驟:1、捕獲mysql的查詢到日誌檔案,建議使用慢查詢日誌

2、根據查詢日誌生產剖析報告,利用pt-query-digest可將日誌生成報告。

根據上述方法可以定位到比較慢的sql,進行單條查詢問題剖析

剖析單條查詢

使用show profile測量語句耗費的時間

得到具體的慢查詢後,再剖析單條查詢的耗時情況

1.

set proiling =1;

--開啟query profile

2.執行你的查詢

3.show proflies;

--檢視所有查詢對應的profile

4.show profile for query queryid;

--根據第三步的queryid獲取profile的內容

可得到語句執行的每個步驟的耗時,再針對耗時進行優化。

使用show status檢視計數器,它無法提供基於時間的統計

最有用的計數器包括控制代碼計數器、臨時檔案和表計數器等。

通過剖析伺服器負載方法(本文第一點)獲得「壞查詢」後可以檢視該查詢的日誌,慢查詢日誌資訊較全。

判斷是單條查詢問題還是伺服器問題

1、使用show global status,以較高的頻率比如一秒一次執行show global status,關注每秒查詢數、threads_connected和threads_running。threads_connectd是資料庫總連線數,和show processlist相等,threads_running是此時活躍的連線。

2、不停地捕獲show processlist(和thread_connected相等,用來觀察執行緒狀態的,言外之意,就是乙個連線有乙個執行緒處理,因為它代表的也是連線數)的輸出,來觀察是否有大量執行緒處於不正常的狀態或者有其他不正常的特徵。

3、使用查詢日誌,看每秒查詢數

建議,使用show golbal status及show processlist,這兩者的效能消耗少。

4.檢視是不是拿不到鎖

select * from information_schema.innodb_trx

MySQL 分頁查詢效能分析

mysql分頁查詢 今天研究了一下mysql的分頁查詢,記錄並分享如下 方式1 select from table order by id limit m,n 該語句的意思為,查詢m n條記錄,去掉前m條,返回後n條記錄。無疑該查詢能夠實現分頁功能,但是如果m的值越大,查詢的效能會越低 越後面的頁數...

mysql 效能分析 Mysql效能分析

優化mysql資料庫效能的十個引數 1 max connections 允許的同時客戶的數量。增加該值增加 mysqld 要求的檔案描述符的數量。這個數字應該增加,否則,你將經常看到 too many connections 錯誤。預設數值是100,我把它改為1024 2 record buffer...

mysql效能分析方法 mysql 效能分析方法

1.explain分析法 explain 分析查詢語句 1 id列數字越大越先執行,如果說數字一樣大,那麼就從上往下依次執行 2 select type查詢型別 primary dependent subquery等 3 table表名 4 type 從上到下效能依次下降 system 表中只有一行...