show profile是mysql提供的可以用來分析當前會話中sql語句執(zhí)行的資源消耗情況的工具。
1.查看Show Profile開啟情況:
show variables like 'profiling'

mysql截圖
2.開啟show profile:
set profiling = on

開啟show profiling
3.運行測試SQL語句:
show databases;
use liaotian;
show tables;
select 123;
select sleep(1);
4.通過show profiles查看結果:
show profiles;

結果截圖
5.分析具體SQL語句:
show profile [option] for query num
1.option:
ALL:顯示所有的開銷信息。
BLOCK IO:顯示塊IO開銷。
CONTEXT SWITCHES:上下文切換開銷。
CPU:顯示CPU開銷信息。
IPC:顯示發(fā)送和接收開銷信息。
MEMORY:顯示內存開銷信息。
PAGE FAULTS:顯示頁面錯誤開銷信息。
SOURCE:顯示和Source_function,Source_file,Source_line相關的開銷信息。
SWAPS:顯示交換次數開銷信息。
2.num:
show profiles 顯示出的SQL語句的query_id
6.show profile注意事項:
如果存在如下信息則需要我們注意我們的SQL語句:
1.converting HEAP to MyISAM:查詢結果太大,內存不夠,數據往磁盤上搬了。
2.Creating tmp table:創(chuàng)建臨時表。先拷貝數據到臨時表,用完后再刪除臨時表。
3.Copying to tmp table on disk:把內存中臨時表復制到磁盤上,危險?。?!
4.locked。