自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用mysqldumpslow分析執(zhí)行較慢的SQL語(yǔ)句

數(shù)據(jù)庫(kù) MySQL
本文主要介紹了怎樣使用mysqldumpslow來(lái)分析MySQL慢查詢?nèi)罩镜倪^(guò)程,通過(guò)分析我們找出執(zhí)行較慢的SQL語(yǔ)句,進(jìn)而采取一些措施進(jìn)行優(yōu)化,提高SQL語(yǔ)句的查詢效率。

MySQL數(shù)據(jù)庫(kù)有一個(gè)功能就是可以以日志的形式記錄下來(lái)運(yùn)行的比較慢的sql語(yǔ)句,默認(rèn)是沒(méi)有開(kāi)啟這個(gè)功能的。為了開(kāi)啟這個(gè)功能,需要要修改my.cnf或者在mysql啟動(dòng)的時(shí)候加入一些參數(shù)。如果在my.cnf里面修改,需增加如下幾行:

 

  1. long_query_time = 1 
  2.  
  3. log-slow-queries = /var/youpath/slow.log  
  4.  
  5. log-queries-not-using-indexes 

 

long_query_time 是指執(zhí)行超過(guò)多久的sql會(huì)被log下來(lái),這里是1秒。

log-slow-queries 設(shè)置把日志寫(xiě)在那里,可以為空,系統(tǒng)會(huì)給一個(gè)缺省的文件host_name -slow.log,我生成的log就在mysql的data目錄。

log-queries-not-using-indexes 就是字面意思,log下來(lái)沒(méi)有使用索引的query。

把上述參數(shù)打開(kāi),運(yùn)行一段時(shí)間,就可以關(guān)掉了,省得影響生產(chǎn)環(huán)境。

接下來(lái)就是分析了,我這里的文件名字叫host-slow.log。

mysqldumpslow –help以下,主要用的是

 

  1. -s ORDER what to sort by (t, at, l, al, r, ar etc), ‘at’ is default  
  2.  
  3. -t NUM just show the top n queries  
  4.  
  5. -g PATTERN grep: only consider stmts that include this string 

 

-s,是order的順序,說(shuō)明寫(xiě)的不夠詳細(xì),俺用下來(lái),包括看了代碼,主要有c,t,l,r和ac,at,al,ar,分別是按照query次數(shù),時(shí)間,lock的時(shí)間和返回的記錄數(shù)來(lái)排序,前面加了a的時(shí)倒敘。

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

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

 

  1. mysqldumpslow -s c -t 20 host-slow.log  
  2.  
  3. mysqldumpslow -s r -t 20 host-slow.log 

 

上述命令可以看出訪問(wèn)次數(shù)最多的20個(gè)sql語(yǔ)句和返回記錄集最多的20個(gè)sql。

 

  1. mysqldumpslow -t 10 -s t -g “left join” host-slow.log 

 

這個(gè)是按照時(shí)間返回前10條里面含有左連接的sql語(yǔ)句。

用了這個(gè)工具就可以查詢出來(lái)哪些sql語(yǔ)句是性能的瓶頸,從而進(jìn)行優(yōu)化,比如加索引,該應(yīng)用的實(shí)現(xiàn)方式等。

關(guān)于MySQL的mysqldumpslow工具就介紹到這里,如果您想了解更多MySQL數(shù)據(jù)庫(kù)的知識(shí),不妨看一下這里的文章:http://database.51cto.com/mysql/,相信一定會(huì)帶給您收獲的。

【編輯推薦】

  1. SQL Server數(shù)據(jù)庫(kù)分區(qū)表的應(yīng)用實(shí)例
  2. 簡(jiǎn)單介紹一下關(guān)系型數(shù)據(jù)庫(kù)的設(shè)計(jì)思路
  3. Oracle數(shù)據(jù)庫(kù)Shared Pool優(yōu)化過(guò)程詳解
  4. 兩個(gè)MySQL存儲(chǔ)過(guò)程中文問(wèn)題的解決方案
  5. 讓SQL Server Management Studio直接連接數(shù)據(jù)庫(kù)
責(zé)任編輯:趙鵬 來(lái)源: ChinaUnix博客
相關(guān)推薦

2009-09-04 17:31:32

C# SQL語(yǔ)句執(zhí)行函

2010-09-03 14:47:50

SQLSELECT語(yǔ)句

2011-08-18 14:25:26

OracleEXPLAIN PLA

2010-09-25 14:59:54

SQL語(yǔ)句

2024-12-26 08:16:26

2009-09-09 18:03:47

LINQ to SQL

2010-04-29 14:06:40

Oracle SQL

2021-07-28 07:22:40

SQL順序Hive

2019-11-06 09:30:35

SQL查詢語(yǔ)句數(shù)據(jù)庫(kù)

2010-09-25 16:21:41

SQL語(yǔ)句

2010-11-04 09:43:46

LINQ to SQL

2009-11-16 13:47:35

Oracle SQL語(yǔ)

2013-10-29 16:27:23

MySQLSQL語(yǔ)句

2010-03-31 15:03:54

Oracle執(zhí)行

2010-07-13 17:13:55

SQL ServerS

2022-07-28 09:13:30

MySQL數(shù)據(jù)庫(kù)

2010-09-06 13:17:19

SQL Server語(yǔ)句

2010-04-02 14:16:10

Oracle SQL

2010-09-07 11:41:24

SQL語(yǔ)句

2011-03-21 15:39:31

LAMPPHPSQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)