明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

MySQL慢查詢?nèi)罩镜脑O(shè)置以及使用圖文詳細(xì)教程詳細(xì)說明

[摘要]慢查詢?nèi)罩居糜谟涗浺恍┻^慢的查詢語句,可以幫助管理員分析問題所在,下面這篇文章主要給大家介紹了關(guān)于MySQL慢查詢?nèi)罩镜呐渲门c使用教程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。前言My...
慢查詢?nèi)罩居糜谟涗浺恍┻^慢的查詢語句,可以幫助管理員分析問題所在,下面這篇文章主要給大家介紹了關(guān)于MySQL慢查詢?nèi)罩镜呐渲门c使用教程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。

前言

MySQL慢查詢?nèi)罩臼俏覀冊谌粘9ぷ髦薪?jīng)常會遇到的一個(gè)功能,MySQL慢查詢?nèi)罩咎峁┝顺^指定時(shí)間閾值的查詢信息,為性能優(yōu)化提供了主要的參考依據(jù),是一個(gè)非常實(shí)用的功能,MySQL慢查詢?nèi)罩镜拈_啟和配置非常簡單,可以指定記錄的文件(或者表),超過的時(shí)間閾值等就可以記錄到慢sql了,實(shí)話講,相比較sqlserver的trace或者擴(kuò)展事件(雖然此二者的作用并非僅僅如此),MySQL的配置總是給人一種非常清爽的感覺。

一、慢查詢?nèi)罩镜拇蜷_

正常情況下,只需要在配置文件中增加slow_query_log = 1配置,即打開慢查詢?nèi)罩,未指定slow_query_log_file的情況下,會自動(dòng)生成一個(gè)以主機(jī)名+‘slow'.log 的文件。

  MySQL慢查詢?nèi)罩镜呐渲靡约笆褂媒坛淘斀? src="http://img6.22122511.com/upload/softtech_1/soft_1213034146_1.jpg"></p><p><span style="color: #ff0000"><strong>二、默認(rèn)情況下記錄慢查詢的時(shí)間閾值為10s</strong></span></p><p style="text-align: center">  <img alt=

默認(rèn)情況下,指定slow_query_log = 1的情況其啟動(dòng)MySQL,即可打開慢查詢,自動(dòng)生成一個(gè)默認(rèn)的以主機(jī)名++‘slow'.log 的文件來記錄超過執(zhí)行超過10s的慢查詢。

也可以顯式指定慢查詢的日志文件名稱(不存在會自動(dòng)創(chuàng)建)和記錄慢查詢的時(shí)間閾值(非默認(rèn)的10s)。

  MySQL慢查詢?nèi)罩镜呐渲靡约笆褂媒坛淘斀? src="http://img6.22122511.com/upload/softtech_1/soft_1213034146_3.jpg"></p><p><span style="color: #800000"><strong>注意:</strong></span>在配置文件中指定long_query_time的時(shí)候,不需要時(shí)間單位,只需要一個(gè)值,比如1就代表1s,如果帶了時(shí)間單位,服務(wù)將無法啟動(dòng)。</p><p>  <img alt=

如下是一個(gè)記錄到日志文件中的慢sql的示例

  MySQL慢查詢?nèi)罩镜呐渲靡约笆褂媒坛淘斀? src="http://img6.22122511.com/upload/softtech_1/soft_1213034146_5.jpg"></p><p><span style="color: #ff0000"><strong>三、記錄慢查詢?nèi)罩镜奖?/strong></span></p><p>配置:需要添加一個(gè)log_output的配置,就可以將慢查詢記錄到表中了</p><p style="text-align: center"><img alt=

mysql庫下面有一個(gè)默認(rèn)的slow_log表,可以直接將slow_query_log_file = slow_log,即可將慢查詢?nèi)罩居涗浀奖碇小?/p>

  MySQL慢查詢?nèi)罩镜呐渲靡约笆褂媒坛淘斀? src="http://img6.22122511.com/upload/softtech_1/soft_1213034147_7.jpg"></p><p>記錄到的slow sql如下,可以發(fā)現(xiàn)sql_text是一個(gè)二進(jìn)制的信息,并非原始的sql文本</p><p style="text-align: center">  <img alt=

可以通過CONVERT函數(shù)轉(zhuǎn)換一下即可。

  MySQL慢查詢?nèi)罩镜呐渲靡约笆褂媒坛淘斀? src="http://img6.22122511.com/upload/softtech_1/soft_1213034147_9.jpg"></p><p><span style="color: #ff0000"><strong>關(guān)于慢查詢記錄到日志文件和表中的區(qū)別:</strong></span></p><p>  1、慢查詢記錄到日志文件和表中,記錄本身差別不大,如果是記錄在表中,慢查詢的執(zhí)行時(shí)間信息無法精確到微妙,</p><p>     2、如果將慢查詢信息記錄在表中,方便查詢,但因?yàn)槭墙Y(jié)構(gòu)化的數(shù)據(jù),可能會比記錄在慢查詢?nèi)罩疚募校ㄆ矫嫖谋疚募┮稽c(diǎn)點(diǎn)(個(gè)人猜測),如果是記錄到文件,需要mysqldumpslow工具解析。</p><p>  3、慢查詢不記錄執(zhí)行失敗的查詢,比如long_query_time設(shè)置為10(10秒鐘),一個(gè)查詢超過了10秒鐘,但是因?yàn)槠渌驁?zhí)行失敗,MySQL的慢查詢將無法記錄此查詢信息。</p><p><span style="color: #ff0000"><strong>總結(jié)</strong></span><p>以上就是MySQL慢查詢?nèi)罩镜呐渲靡约笆褂媒坛淘斀獾脑敿?xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!</p>				
				<div   id="0qqqqqq84"   class=

  • 微信

  • 學(xué)習(xí)教程快速掌握從入門到精通的SQL知識。