當(dāng)前位置:首頁(yè) > IT技術(shù) > 數(shù)據(jù)庫(kù) > 正文

MySQL - 性能分析語(yǔ)句 show profile和show profiles
2021-09-05 09:22:03

show profile?命令用于跟蹤執(zhí)行過(guò)的sql語(yǔ)句的資源消耗信息,可以幫助查看sql語(yǔ)句的執(zhí)行情況,可以在做性能分析或者問(wèn)題診斷的時(shí)候作為參考。

?

1.打開(kāi)配置

show profile跟蹤記錄SQL執(zhí)行情況的需要打開(kāi)配置才能使用,如下圖所示:


?

2.profiles命令--查看某SQL語(yǔ)句“所有”執(zhí)行的情況

測(cè)試執(zhí)行數(shù)次“select count(1) from test_table1;”這個(gè)SQL語(yǔ)句,查看執(zhí)行過(guò)的sql的QUERY_ID,如下圖所示:

步驟閱讀

3.profile命令--查看某SQL語(yǔ)句“某次”執(zhí)行的情況

然后查看具體的某一個(gè)query_id的執(zhí)行過(guò)程,如下圖所示:

步驟閱讀

4.查看某一方面的資源消耗信息

然后可以查看某一個(gè)query(執(zhí)行過(guò)的SQL語(yǔ)句)的某一方面的資源消耗信息。比如

show profile cpufor query 82;

或者是

show profile all for query 82;

如下圖所示:

步驟閱讀

5.profile all 查看所有參數(shù)

或者是show profile all for query 82。更多show profile的參數(shù)請(qǐng)參考各種參考資料以及官方文檔,如下圖所示:


?

show profile中記錄的信息實(shí)際上是存儲(chǔ)在INFORMATION_SCHEMA.PROFILING?這個(gè)系統(tǒng)表中的,各種show profile只不過(guò)是相當(dāng)于一個(gè)馬甲,換一種方式來(lái)展現(xiàn)INFORMATION_SCHEMA.PROFILING?中的信息,如下圖所示:

實(shí)話(huà)講,個(gè)人是不太喜歡系統(tǒng)類(lèi)似的封裝命令的,倒不如自己直接去定義查詢(xún)條件去查詢(xún)系統(tǒng)表本身來(lái)的更加實(shí)在。


MySQL的show profile差不多就是這個(gè)功能。細(xì)節(jié)功能要么用的非常非常頻繁,然后自然會(huì)熟悉,要么就用的時(shí)候查一下。

?

參考文獻(xiàn)

https://blog.csdn.net/liberty12345678/article/details/81975679

?

本文摘自 :https://www.cnblogs.com/

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >