mysql怎么看慢查詢,mysql查看查詢慢的語句

MySQL中如何查看“慢查詢”,如何分析執(zhí)行SQL的效率?

開啟慢查詢?nèi)罩?/p>

我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、瑪多ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的瑪多網(wǎng)站制作公司

mysql set global slow_query_log=1;

定義時間SQL查詢的超時時間

mysql set global long_query_time = 0.005;

查看慢查詢?nèi)罩镜谋4媛窂?/p>

mysql show global variables like 'slow_query_log_file';

查看慢查詢

cat /var/log/mysql/slow.log

如何查找MySQL中查詢慢的SQL語句

一、MySQL數(shù)據(jù)庫有幾個配置選項可以幫助我們及時捕獲低效SQL語句 1,slow_query_log 這個參數(shù)設(shè)置為ON,可以捕獲執(zhí)行時間超過一定數(shù)值的SQL語句。 2,long_query_time 當(dāng)SQL語句執(zhí)行時間超過此數(shù)值時,就會被記錄到日志中,建議設(shè)置為1或者更短。 3,slow_query_log_file 記錄日志的文件名。 4,log_queries_not_using_indexes 這個參數(shù)設(shè)置為ON,可以捕獲到所有未使用索引的SQL語句,盡管這個SQL語句有可能執(zhí)行得挺快。 二、檢測mysql中sql語句的效率的方法 1、通過查詢?nèi)罩?(1)、Windows下開啟MySQL慢查詢 MySQL在Windows系統(tǒng)中的配置文件一般是是my.ini找到[mysqld]下面加上 代碼如下 log-slow-queries = F:/MySQL/log/mysqlslowquery。log long_query_time = 2 (2)、Linux下啟用MySQL慢查詢 MySQL在Windows系統(tǒng)中的配置文件一般是是my.cnf找到[mysqld]下面加上 代碼如下 log-slow-queries=/data/mysqldata/slowquery。log long_query_time=2 說明 log-slow-queries = F:/MySQL/log/mysqlslowquery。 為慢查詢?nèi)罩敬娣诺奈恢?,一般這個目錄要有MySQL的運行帳號的可寫權(quán)限,一般都將這個目錄設(shè)置為MySQL的數(shù)據(jù)存放目錄; long_query_time=2中的2表示查詢超過兩秒才記錄;

如何開啟MySQL慢查詢?nèi)罩?/h2>

開啟mysql慢查詢?nèi)罩?/p>

查看配置:

//查看慢查詢時間

show variables like "long_query_time";默認(rèn)10s

//查看慢查詢配置情況

show status like "%slow_queries%";

//查看慢查詢?nèi)罩韭窂?/p>

show variables like "%slow%";

修改配置文件

在my.ini中加上下面兩句話

log-slow-queries = D:\wamp\mysql_slow_query.log

long_query_time=5

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

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

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

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

show variables like '%slow%';

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

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

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

SELECT SLEEP(10);

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

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

show global status like '%slow%';

mysql日志的配置:

注意:這些日文件在mysql重啟的時候才會生成

#記錄所有sql語句

log=E:/mysqllog/mysql.log

#記錄數(shù)據(jù)庫啟動關(guān)閉信息,以及運行過程中產(chǎn)生的錯誤信息

log-error=E:/mysqllog/myerror.log

# 記錄除select語句之外的所有sql語句到日志中,可以用來恢復(fù)數(shù)據(jù)文件

log-bin=E:/mysqllog/bin

#記錄查詢慢的sql語句

log-slow-queries=E:/mysqllog/slow.log

#慢查詢時間

long_query_time=0.5

如何查看mysql慢查詢是否開啟

1,配置開啟

Linux:

在mysql配置文件my.cnf中增加

log-slow-queries=/var/lib/mysql/slowquery.log (指定日志文件存放位置,可以為空,系統(tǒng)會給一個缺省的文件host_name-slow.log)long_query_time=2 (記錄超過的時間,默認(rèn)為10s)log-queries-not-using-indexes (log下來沒有使用索引的query,可以根據(jù)情況決定是否開啟)log-long-format (如果設(shè)置了,所有沒有使用索引的查詢也將被記錄)

Windows:

在my.ini的[mysqld]添加如下語句:log-slow-queries = E:\web\mysql\log\mysqlslowquery.loglong_query_time = 2(其他參數(shù)如上)

2,查看方式

Linux:

使用mysql自帶命令mysqldumpslow查看

常用命令

-s ORDER what to sort by (t, at, l, al, r, ar etc), 'at’ is default

-t NUM just show the top n queries

-g PATTERN grep: only consider stmts that include this string

s,是order的順序,說明寫的不夠詳細(xì),包括看了代碼,主要有 c,t,l,r和ac,at,al,ar,分別是按照query次數(shù),時間,lock的時間和返回的記錄數(shù)來排序,前面加了a的時倒序 -t,是top n的意思,即為返回前面多少條的數(shù)據(jù) -g,后邊可以寫一個正則匹配模式,大小寫不敏感的

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

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

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

mysqldumpslow -t 10 -s t -g “l(fā)eft join” host-slow.log這個是按照時間返回前10條里面含有左連接的sql語句。

如何開啟mysql的慢查詢

1、開啟慢查詢 找到 MySQL 的配置文件 ,my.cnf (Windows 為 my.ini ),在 MySQL 下增加下面幾行: long_query_time=2 log-slow-queries= /usr/var/slowquery.log 上面的 2 是查詢的時間,即當(dāng)一條 SQL 執(zhí)行時間超過2秒的時候才記錄

如何在mysql查找效率慢的SQL語句

如何查找MySQL中查詢慢的SQL語句

一、MySQL數(shù)據(jù)庫有幾個配置選項可以幫助我們及時捕獲低效SQL語句

1,slow_query_log

這個參數(shù)設(shè)置為ON,可以捕獲執(zhí)行時間超過一定數(shù)值的SQL語句。

2,long_query_time

當(dāng)SQL語句執(zhí)行時間超過此數(shù)值時,就會被記錄到日志中,建議設(shè)置為1或者更短。

3,slow_query_log_file

記錄日志的文件名。

4,log_queries_not_using_indexes

這個參數(shù)設(shè)置為ON,可以捕獲到所有未使用索引的SQL語句,盡管這個SQL語句有可能執(zhí)行得挺快。

二、檢測mysql中sql語句的效率的方法

1、通過查詢?nèi)罩?/p>

(1)、Windows下開啟MySQL慢查詢

MySQL在Windows系統(tǒng)中的配置文件一般是是my.ini找到[mysqld]下面加上

代碼如下

log-slow-queries = F:/MySQL/log/mysqlslowquery。log

long_query_time = 2

(2)、Linux下啟用MySQL慢查詢

MySQL在Windows系統(tǒng)中的配置文件一般是是my.cnf找到[mysqld]下面加上

代碼如下

log-slow-queries=/data/mysqldata/slowquery。log

long_query_time=2

網(wǎng)站欄目:mysql怎么看慢查詢,mysql查看查詢慢的語句
網(wǎng)頁網(wǎng)址:http://muchs.cn/article44/phesee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、云服務(wù)器、網(wǎng)站營銷、虛擬主機、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化