日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
MySQL慢查詢的2種分析方案

以下的文章主要介紹的是MySQL慢查詢分析方法,前一段日子,我曾經(jīng)設(shè)置了一次記錄在MySQL數(shù)據(jù)庫(kù)中對(duì)慢于1秒鐘的SQL語(yǔ)句進(jìn)行查詢。想起來有幾個(gè)十分設(shè)置的方法,有幾個(gè)參數(shù)的名稱死活回憶不起來了,于是重新整理一下,自己做個(gè)筆記。

對(duì)于排查問題找出性能瓶頸來說,最容易發(fā)現(xiàn)并解決的問題就是MySQL慢查詢以及沒有得用索引的查詢。

OK,開始找出MySQL中執(zhí)行起來不“爽”的SQL語(yǔ)句吧。

MySQL慢查詢分析方法一:

這個(gè)方法我正在用,呵呵,比較喜歡這種即時(shí)性的。

MySQL5.0以上的版本可以支持將執(zhí)行比較慢的SQL語(yǔ)句記錄下來。

 
 
 
  1. MySQL> show variables like 'long%';  

注:這個(gè)long_query_time是用來定義慢于多少秒的才算“慢查詢”

 
 
 
  1. +-----------------+-----------+  
  2. | Variable_name | Value |  
  3. +-----------------+-----------+  
  4. | long_query_time | 10.000000 |   
  5. +-----------------+-----------+  
  6. 1 row in set (0.00 sec)  
  7. MySQL> set long_query_time=1;   

注: 我設(shè)置了1, 也就是執(zhí)行時(shí)間超過1秒的都算慢查詢。

 
 
 
  1. Query OK, 0 rows affected (0.00 sec)  
  2. MySQL> show variables like 'slow%';  
  3. +---------------------+---------------+  
  4. | Variable_name | Value |  
  5. +---------------------+---------------+  
  6. | slow_launch_time | 2 |   
  7. | slow_query_log | ON |   

注:是否打開日志記錄

 
 
 
  1. | slow_query_log_file | /tmp/slow.log |  

注: 設(shè)置到什么位置

 
 
 
  1. +---------------------+---------------+  
  2. 3 rows in set (0.00 sec)  
  3. MySQL> set global slow_query_log='ON'   

注:打開日志記錄

一旦slow_query_log變量被設(shè)置為ON,MySQL會(huì)立即開始記錄。

/etc/my.cnf 里面可以設(shè)置上面MySQL全局變量的初始值。

 
 
 
  1. long_query_time=1 
  2. slow_query_log_file=/tmp/slow.log 

MySQL慢查詢分析方法二:

MySQLdumpslow命令

 
 
 
  1. /path/MySQLdumpslow -s c -t 10 /tmp/slow-log 

這會(huì)輸出記錄次數(shù)最多的10條SQL語(yǔ)句,其中:

-s, 是表示按照何種方式排序,c、t、l、r分別是按照記錄次數(shù)、時(shí)間、查詢時(shí)間、返回的記錄數(shù)來排序,ac、at、al、ar,表示相應(yīng)的倒敘;

-t, 是top n的意思,即為返回前面多少條的數(shù)據(jù);

-g, 后邊可以寫一個(gè)正則匹配模式,大小寫不敏感的;

比如

 
 
 
  1. /path/MySQLdumpslow -s r -t 10 /tmp/slow-log 

得到返回記錄集最多的10個(gè)查詢。

 
 
 
  1. /path/MySQLdumpslow -s t -t 10 -g “l(fā)eft join” /tmp/slow-log 

得到按照時(shí)間排序的前10條里面含有左連接的查詢語(yǔ)句。

以上的相關(guān)內(nèi)容就是對(duì)MySQL慢查詢分析的介紹,望你能有所收獲。


當(dāng)前標(biāo)題:MySQL慢查詢的2種分析方案
URL標(biāo)題:http://www.5511xx.com/article/dheiose.html