MySQL之SQL優化技巧

龍山游龍發表於2021-08-27

第一部分 情景介紹

資料庫上線以後,多多少少會遇到一些問題,比如,常見的慢查詢等,對每個運維人員或DBA來說,這也許就是日常工作中的重點,也是難點。本文主要講解一下MySQL的慢日誌對系統效能的影響和作用,並說明怎麼去定位慢SQL,並根據日誌的相關特性得出相應的優化思路。

慢日誌帶來的直接效能損耗就是資料庫系統中最為昂貴的I/O資源。對於MySQL資料庫來說,I/O出現瓶頸,會導致連線數增大、鎖表,更有可能導致業務訪問失敗,尤其是在高併發場合下。開啟慢查詢記錄功能帶來的好處是可以通過分析慢SQL來優化SQL語句,從而解決因慢SQL引起的各種問題。

第二部分 模擬測試

2.1 開啟慢日誌功能

[root@orcl11204 ~]vi /etc/my.cnf
slow_query_log=1
slow_query_log_file=mysql.slow
long_query_time=2
 
mysql> show variables like '%slow%';

 

2.2 檢視慢日誌

[root@orcl11204 data]# tail -200f mysql.slow

2.3 測試慢SQL捕獲情況

執行一條慢SQL:

mysql>  select * from testdb.aa join testdb.aa a join testdb.aa b;

日誌顯示情況如下:

 

(注:測試環境慢查詢時間設定為0.00001)

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30310891/viewspace-2789162/,如需轉載,請註明出處,否則將追究法律責任。

相關文章