亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識(shí)庫 > Mysql開啟慢SQL并分析原因

Mysql開啟慢SQL并分析原因

熱門標(biāo)簽:自己做地圖標(biāo)注需要些什么 福建外呼電銷機(jī)器人加盟 昌德訊外呼系統(tǒng) 天津公司外呼系統(tǒng)軟件 中國地圖標(biāo)注公司 電話機(jī)器人的價(jià)格多少錢一個(gè)月 徐涇鎮(zhèn)騰訊地圖標(biāo)注 400電話申請(qǐng)廠家現(xiàn)貨 百度地圖標(biāo)注要什么軟件

第一步.開啟mysql慢查詢

方式一:修改配置文件

Windows:Windows 的配置文件為 my.ini,一般在 MySQL 的安裝目錄下或者 c:\Windows 下。

Linux:Linux 的配置文件為 my.cnf ,一般在 /etc 下

在 my.ini 增加幾行:

[mysqlld] 
long_query_time=2 
#5.0、5.1等版本配置如下選項(xiàng) 
log-slow-queries="mysql_slow_query.log" 
#5.5及以上版本配置如下選項(xiàng) 
slow-query-log=On 
slow_query_log_file="mysql_slow_query.log" 
log-query-not-using-indexes 

第一句使用來定義查過多少秒的查詢算是慢查詢,我這里定義的是2秒

第二句使用來定義慢查詢?nèi)罩镜穆窂剑ㄒ驗(yàn)槭莣indows,所以不牽涉權(quán)限問題)

第三句就是記錄下沒有使用索引的query

第二步:查看關(guān)于慢查詢的狀態(tài)

方式二:通過MySQL數(shù)據(jù)庫開啟慢查詢

上文的配置需要重啟mysql server進(jìn)程mysqld才會(huì)生效。但是很多時(shí)候,尤其是產(chǎn)品運(yùn)營環(huán)境,不希望每次修改都需要重新啟動(dòng)mysql服務(wù)器,也希望能在某些特定時(shí)間記 錄。MySQL5.1給我們提供了更為靈活的運(yùn)行時(shí)控制,使得你不必重新啟動(dòng)mysql服務(wù)器,也能選擇性地記錄或者不記錄某些slow queries。

MySQL5.1中,提供了全局變量slow_query_logslow_query_log_file可以靈活地控制enable/disable慢查詢。同時(shí)可以通過long_query_time設(shè)置時(shí)間

#//啟用slow query記錄
#注意:設(shè)置了slow_query_log全局變量, log_slow_queries也會(huì)隱性地跟著改變
mysql>set global slow_query_log=ON

不幸運(yùn)的是,在MySQL5.0并沒有提供類似的全局變量來靈活控制,但是我們可以通過將long_query_time設(shè)置得足夠大來避免記錄某些查詢語句。比如

mysql>set global long_query_time = 3600;

mysql>set global log_querise_not_using_indexes = ON;

MySQL5.0, 不關(guān)服務(wù)的情況下,希望不記錄日志的辦法是將日志文件成為/dev/null的符號(hào)鏈接(symbolic link)。注意:你只需要在改變后運(yùn)行FLUSH LOGS以確定MYSQL釋放當(dāng)前的日志文件描述符,重新把日志記錄到/dev/null

和MySQL5.0不同,MySQL5.1可以在運(yùn)行時(shí)改變?nèi)沼浶袨椋瑢⑷罩居涗浀綌?shù)據(jù)庫表中。只要將mysql全局變量log_output設(shè)置為 TABLE即可。MySQL會(huì)將日志分別記錄到表mysql.gengera_log和mysql.slow_log二張表中。但是,我們推薦將日志記錄 在日記文件中。

mysql> show variables like ‘log_output'\G
Variable_name: log_output
Value: FILE
mysql>set global log_output='table';

缺陷與審記

雖然記錄了slow query能夠幫助你優(yōu)化產(chǎn)品。但是MySQL目前版本,還有幾大蹩足的地方。

  • 1.MySQL5.0版本, long_query_time時(shí)間粒度不夠細(xì),最小值為1秒。對(duì)于高并發(fā)性能的網(wǎng)頁腳本而言,1秒出現(xiàn)的意義不大。即出現(xiàn)1秒的查詢比較少。直到mysql5.1.21才提供更細(xì)粒度的long_query_time設(shè)定.
  • 2.不能將服務(wù)器執(zhí)行的所有查詢記錄到慢速日志中。雖然MySQL普通日志記錄了所有查詢,但是它們是解析查詢之前就記錄下來了。這意味著普通日志沒辦法包含諸如執(zhí)行時(shí)間,鎖表時(shí)間,檢查行數(shù)等信息。
  • 3.如果開啟了log_queries_not_using_indexes選項(xiàng),slow query日志會(huì)充滿過多的垃圾日志記錄,這些快且高效的全表掃描查詢(表小)會(huì)沖掉真正有用的slow queries記錄。比如select * from category這樣的查詢也會(huì)被記錄下來。

通過microslow-patch補(bǔ)丁可使用更細(xì)的時(shí)間粒度,和記錄所有執(zhí)行過的sql語句。不過,使用這個(gè)補(bǔ)訂不得不自己編譯MySQL,出于穩(wěn)定性考濾,我們推薦在開發(fā)測試環(huán)境,可以打上這個(gè)補(bǔ)丁,享受這個(gè)補(bǔ)丁帶來的便利。在運(yùn)營環(huán)境盡量不要這么做…

第二步.驗(yàn)證慢查詢是否開啟

執(zhí)行如下SQL語句來查看mysql慢查詢的狀態(tài)

執(zhí)行結(jié)果會(huì)把是否開啟慢查詢、慢查詢的秒數(shù)、慢查詢?nèi)罩镜刃畔⒋蛴≡谄聊簧稀?/p>

/*查看慢查詢時(shí)間 */ 
show variables like "long_query_time";默認(rèn)10s 
/*查看慢查詢配置情況 */ 
show status like "%slow_queries%"; 
/*查看慢查詢?nèi)罩韭窂?*/ 
 show variables like "%slow%"; 

第三步:執(zhí)行一次慢查詢操作

其實(shí)想要執(zhí)行一次有實(shí)際意義的慢查詢比較困難,因?yàn)樵谧约簻y試的時(shí)候,就算查詢有20萬條數(shù)據(jù)的海量表,也只需要0.幾秒。我們可以通過如下語句代替:

SELECT SLEEP(10);

第四步:查看慢查詢的數(shù)量

通過如下sql語句,來查看一共執(zhí)行過幾次慢查詢:

show global status like '%slow%';

mysql日志的配置:

注意:這些日文件在mysql重啟的時(shí)候才會(huì)生成 
#記錄所有sql語句 
log=E:/mysqllog/mysql.log 
#記錄數(shù)據(jù)庫啟動(dòng)關(guān)閉信息,以及運(yùn)行過程中產(chǎn)生的錯(cuò)誤信息 
log-error=E:/mysqllog/myerror.log 
# 記錄除select語句之外的所有sql語句到日志中,可以用來恢復(fù)數(shù)據(jù)文件 
log-bin=E:/mysqllog/bin 
#記錄查詢慢的sql語句 
log-slow-queries=E:/mysqllog/slow.log  
#慢查詢時(shí)間 
long_query_time=2 

第四步:分析慢查詢?nèi)罩?/strong>

方式一:通過工具分析

MySQL自帶了mysqldumpslow工具用來分析slow query日志,除此之外,還有一些好用的開源工具。比如MyProfi(下載地址:http://sourceforge.net/projects/myprofi/)、mysql-log-filter,當(dāng)然還有mysqlsla

以下是mysqldumpslow常用參數(shù)說明,詳細(xì)的可應(yīng)用mysqldumpslow -help查詢。

  • -s,是表示按照何種方式排序,c、t、l、r分別是按照記錄次數(shù)、時(shí)間、查詢時(shí)間、返回的記錄數(shù)來排序(從大到小),ac、at、al、ar表示相應(yīng)的倒敘。
  • -t,是top n的意思,即為返回前面多少條數(shù)據(jù)。
  • -g,后邊可以寫一個(gè)正則匹配模式,大小寫不敏感。

接下來就是用mysql自帶的慢查詢工具mysqldumpslow分析了(mysql的bin目錄下),我這里的日志文件名字是host-slow.log。

列出記錄次數(shù)最多的10個(gè)sql語句

mysqldumpslow -s c -t 10 host-slow.log

列出返回記錄集最多的10個(gè)sql語句

mysqldumpslow -s r -t 10 host-slow.log

按照時(shí)間返回前10條里面含有左連接的sql語句

mysqldumpslow -s t -t 10 -g "left join" host-slow.log

使用mysqldumpslow命令可以非常明確的得到各種我們需要的查詢語句,對(duì)MySQL查詢語句的監(jiān)控、分析、優(yōu)化起到非常大的幫助。

方式二:直接分析mysql慢查詢?nèi)罩?/strong>

日志部分內(nèi)容如下:

# Time: 121017 17:38:54 
# User@Host: root[root] @ localhost [127.0.0.1] 
# Query_time: 3.794217 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 4194304 
SET timestamp=1350466734; 
select * from wei where text='orange'; 
# Time: 121017 17:46:22 
# User@Host: root[root] @ localhost [127.0.0.1] 
# Query_time: 3.819219 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 4194304 
SET timestamp=1350467182; 
select * from wei where text='xishizhaohua'; 

其實(shí)定位到了慢查詢語句就已經(jīng)完成了一大不了,執(zhí)行explain或者desc命令查看慢查詢語句,如下圖:

問題很明顯,解決方式也很明顯,建索引了。

mysql> create index text_index on wei(text);  
Query OK, 4194304 rows affected (1 min 58.07 sec)  
Records: 4194304 Duplicates: 0 Warnings: 0 

然后在執(zhí)行查詢操作,用時(shí)明顯少了很多。

mysql> select * from wei where text='orange'; 
+---------+--------+ 
| id   | text  | 
+---------+--------+ 
| 4103519 | orange | 
+---------+--------+ 
1 row in set (0.33 sec) 

Slow Query日志,雖然幫助你記錄了那些執(zhí)行過了的SQL語句。但它不是萬能的,意義可能沒有你想象的那么大。它只告訴了你哪些語句慢,但是為什么慢?具體 原因,還是需要你自己去分析,不斷的調(diào)試。也許,你只需要換一條更有效的sql語句,也許你只需簡單地增加一個(gè)索引,但也有可能你需要調(diào)整你應(yīng)用程序的設(shè) 計(jì)方案。比如,上面那條語句是很明顯,它檢查了600多萬行數(shù)據(jù)。不幸的是,并不是每條語句都這么明顯。也許還有別的原因,比如:

  • *鎖表了,導(dǎo)致查詢處于等態(tài)狀態(tài)。lock_time顯示了查詢等待鎖被翻譯的時(shí)間
  • *數(shù)據(jù)或索引沒有被緩存。常見于第一次啟動(dòng)服務(wù)器或者服務(wù)器沒有調(diào)優(yōu)
  • *備份數(shù)據(jù)庫,I/O變慢
  • *也許同時(shí)運(yùn)行了其它的查詢,減少了當(dāng)前查詢

所以,不要過于緊張日志文件某條記錄,而應(yīng)該理性地審記,找出真正的原因。如果經(jīng)常出現(xiàn)的slow query需要特別注意。如果個(gè)別出現(xiàn),則做一些常規(guī)檢查即可。我們建議,統(tǒng)計(jì)并且形成基準(zhǔn)報(bào)告,進(jìn)行比較排除,比胡亂瞎撞有用。希望大家不要在這部分過于浪費(fèi)時(shí)間與精力。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

您可能感興趣的文章:
  • MySQL的一條慢SQL查詢導(dǎo)致整個(gè)網(wǎng)站宕機(jī)的解決方法
  • MySQL利用profile分析慢sql詳解(group left join效率高于子查詢)
  • MySQL慢SQL語句常見誘因以及解決方法
  • 詳細(xì)聊聊MySQL中慢SQL優(yōu)化的方向

標(biāo)簽:駐馬店 北京 陜西 梅河口 昌都 荊門 鄂爾多斯 黔西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Mysql開啟慢SQL并分析原因》,本文關(guān)鍵詞  Mysql,開啟,慢,SQL,并,分析,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Mysql開啟慢SQL并分析原因》相關(guān)的同類信息!
  • 本頁收集關(guān)于Mysql開啟慢SQL并分析原因的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    天天做日日干| 亚洲 国产精品 日韩| a级毛片免费观看网站| 国产亚洲免费观看| 久久久久久久男人的天堂| 免费国产在线视频| 天堂网中文在线| 国产精品1024永久免费视频| 亚洲女人国产香蕉久久精品| 国产国语对白一级毛片| 国产麻豆精品免费视频| 日本在线不卡免费视频一区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产精品1024在线永久免费| 99久久精品国产高清一区二区| 欧美日本韩国| 韩国毛片免费大片| 精品视频在线看| a级毛片免费全部播放| 91麻豆tv| 高清一级片| 毛片高清| 免费国产在线观看不卡| 999精品影视在线观看| 欧美1区2区3区| a级精品九九九大片免费看| 久草免费在线色站| 国产a一级| 日韩一级黄色| 美女被草网站| 精品国产一区二区三区久久久蜜臀| 日韩免费在线观看视频| 国产一区二区精品在线观看| 成人免费网站视频ww| 精品久久久久久中文| 亚欧成人毛片一区二区三区四区 | 久久国产精品自线拍免费| 欧美18性精品| 国产一级强片在线观看| 毛片高清| 日日夜人人澡人人澡人人看免| 亚欧成人乱码一区二区| 国产网站在线| 999精品视频在线| 国产不卡在线观看| 亚洲女人国产香蕉久久精品| 夜夜操天天爽| 日韩在线观看免费完整版视频| 可以免费看毛片的网站| 国产国语对白一级毛片| 韩国三级一区| 高清一级片| 成人在免费观看视频国产| 一级女性大黄生活片免费| 欧美a级大片| 成人在免费观看视频国产| 国产不卡在线看| 高清一级淫片a级中文字幕| 国产精品1024永久免费视频| 国产一区二区精品| 国产不卡高清在线观看视频| 午夜激情视频在线观看 | 日日夜人人澡人人澡人人看免| 成人免费高清视频| 国产极品白嫩美女在线观看看| 精品视频一区二区三区| 亚洲第一页乱| 国产成人精品综合| 精品视频在线观看一区二区| 日韩免费在线| 美女免费精品高清毛片在线视 | 99久久精品国产麻豆| 黄视频网站免费观看| 国产精品1024在线永久免费| 成人影院一区二区三区| 精品国产香蕉伊思人在线又爽又黄| 亚洲天堂在线播放| 午夜欧美成人香蕉剧场| 成人影院一区二区三区| 午夜激情视频在线播放| 麻豆网站在线看| 99久久精品国产麻豆| 一级女人毛片人一女人| 一级毛片视频免费| 日日夜夜婷婷| 成人免费网站视频ww| 一级女性大黄生活片免费| 精品国产一区二区三区久| 国产成人精品综合| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 二级特黄绝大片免费视频大片| 日韩专区第一页| 欧美大片毛片aaa免费看| 欧美18性精品| 成人高清视频在线观看| 日韩av成人| 久久99这里只有精品国产| 午夜激情视频在线观看| 久久久久久久免费视频| 成人免费高清视频| 一本高清在线| 精品国产一区二区三区精东影业 | 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 91麻豆精品国产综合久久久| 国产一区免费在线观看| 青青青草视频在线观看| 99久久精品费精品国产一区二区| 免费的黄视频| 亚洲 欧美 成人日韩| 成人高清免费| 黄色短视频网站| 久久国产影院| 欧美国产日韩一区二区三区| 国产a一级| 国产精品自拍亚洲| 欧美大片aaaa一级毛片| 精品视频在线观看视频免费视频| 香蕉视频一级| 国产网站免费视频| 精品国产三级a| 日韩中文字幕一区二区不卡| 欧美激情在线精品video| 国产成a人片在线观看视频| 国产福利免费观看| 999精品视频在线| 亚洲 国产精品 日韩| 九九精品影院| 国产综合91天堂亚洲国产| 美女免费精品视频在线观看| 尤物视频网站在线观看| 欧美激情一区二区三区视频高清 | 一级毛片视频免费| 国产精品123| 国产一区二区精品| 免费的黄视频| 国产一级强片在线观看| 久久国产一区二区| 成人影院久久久久久影院| 91麻豆tv| 欧美日本免费| 欧美1区2区3区| 精品国产一级毛片| 99久久网站| 日本免费乱人伦在线观看| 欧美爱色| 午夜在线亚洲| 高清一级片| 欧美日本免费| 日本在线播放一区| 久久福利影视| 国产麻豆精品免费视频| 美女免费黄网站| 一 级 黄 中国色 片| 日韩在线观看免费完整版视频| 天天色成人| 国产成+人+综合+亚洲不卡| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 免费毛片基地| 精品国产一区二区三区精东影业 | 精品国产亚一区二区三区| 成人影院久久久久久影院| 国产视频一区二区在线播放| 亚欧视频在线| 免费一级片在线观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 可以在线看黄的网站| 九九九国产| 91麻豆精品国产片在线观看| 国产视频久久久| 九九干| 黄色短视频网站| 欧美日本韩国| 国产91精品一区二区| 精品视频一区二区| 日韩在线观看视频免费| 午夜家庭影院| 麻豆污视频| 亚洲爆爽| 精品国产一级毛片| 国产国语对白一级毛片| 精品久久久久久综合网| 精品视频免费在线| 国产激情一区二区三区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 可以免费看毛片的网站| 九九精品影院| 亚州视频一区二区| 你懂的在线观看视频| 免费国产在线观看不卡| 亚洲精品中文字幕久久久久久| 精品国产三级a| 精品国产一级毛片| 国产网站免费观看| 国产精品12| 成人av在线播放| 黄色免费三级| 亚洲不卡一区二区三区在线| 久久精品店| 国产一区二区精品久久91| 九九免费高清在线观看视频|