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設定頁面語言...