MySQL show profile使用說明

2022-02-09 21:18:50 字數 1933 閱讀 3757

show profile 和 show profiles 命令用於展示sql語句的資源使用情況,包括cpu的使用,cpu上下文切換,io等待,記憶體使用等,這個命令對於分析某個sql的效能瓶頸非常有幫助,借助於show profile的輸出資訊,能讓我們知道乙個sql在哪個階段耗時最長,消耗資源最多,從而為sql優化,提高sql效能提供重要的依據。

然而,這個命令很快將成為歷史了,因為mysql 5.7 版本將會逐漸廢棄這個功能,取而代之的是使用performance schema,在廢棄之前,先熟悉一下這個功能的用法。

1、啟用profiling:

使用show profile之前,先啟用profiling, profiling是session級變數,session關閉,該session的profiling資訊也會丟失。

show profile 展示乙個sql語句的執行耗時細節,如果不加 for query 子句,預設展示最新的一次sql的執**況,加了for query ,表示展示第n個 sql的執**況。比如看第8個sql,執行show profile for query 8;

在執行show profile時,可以加上型別子句,比如cpu,ipc等,檢視具體某類資源的消耗情況,例如:show profile cpu,ipc for query 8;

show profile 和 show profiles 除了這兩個語句之外,可以展示所有的sql語句的執**況,包括有語法錯誤的sql也會被監測到。比如上面看到了乙個show table; 這個sql有語法錯誤,但仍然被記錄到了show profiles;列表中。

show profile具體語法:

show profile [type [, type] …… ] [for query n] [limit row_count [offset offset]]

type:

select

@@profiling; --

檢視profile的開啟情況

set profiling=

1; --

開啟profile

show profiles; 檢視執行的mysql列表

show profile;

--查詢最近一條sql的執行詳細資訊

show profile for query 143; --

查詢指定id的sql執行詳細資訊

show profile cpu;--

獲取執行sql語句時的cpu資訊 show profile cpu for query queryid;

show profile all;--

顯示所有效能資訊

show profile block io; 顯示快io操作的次數

show profile ipc;顯示傳送和接收的訊息數量

show profile source;

--顯示原始碼中的函式和位置

show profile cpu,block io,memory,swaps,context switches,source for query query_id;--

cpu bliock塊 記憶體 顯示swap次數 上下文切換冊數

MySQL show profile 命令詳解

l query profiler是mysql自帶的一種query診斷分析工具,通過它可以分析出一條sql語句的效能瓶頸在什麼地方。l通常我們是使用的explain 關注 引數 有 type key,ref,rows 以及slow query log都無法做到精確分析,但是query profiler...

MySQL Show Profile進行SQL分析

是mysql提供可以用來分析當前會話中語句執行的資源消耗情況,可以用於sql的調優的測量 預設情況下,引數處於關閉狀態,並保持最近15次的執行結果。1.是否支援,看看當前mysql版本是否支援 2.開啟功能,預設是關閉,使用前需要開啟 檢視是否開啟,預設關閉 off show variables l...

python Flask JQuery使用說明

0.前言 這個例子將執行在樹莓派中,請注意windows平台和linux平台也可以執行該示例,python具有良好的跨平台效能。倉庫 倉庫位於 bitbucket 相關博文 python 擴充套件庫安裝 使用第三方映象源 python flask 學前班 前端學習 html4和html5設定頁面語言...