mysql show profile

前言:Show Profile是mysql提供的可以用來分析當前會話中sql語句執(zhí)行的資源消耗情況的工具,可用于sql調優(yōu)的測量。默認情況下處于關閉狀態(tài),并保存最近15次的運行結果。

1.分析步驟

select *from tb_emp_bigdata group by id%10 limit 150000;
select *from tb_emp_bigdata group by id%20 order by 5;
  • 3.通過show profiles查看結果。
image
  • 4.使用show profile對sql語句進行診斷。
show profile cpu,block io for query Query_ID;/*Query_ID為#3步驟中show profiles列表中的Query_ID*/

比如執(zhí)行:show profile cpu,block io for query 15;

image
  • 5.show profile的常用查詢參數(shù)。
    ①ALL:顯示所有的開銷信息。
    ②BLOCK IO:顯示塊IO開銷。
    ③CONTEXT SWITCHES:上下文切換開銷。
    ④CPU:顯示CPU開銷信息。
    ⑤IPC:顯示發(fā)送和接收開銷信息。
    ⑥MEMORY:顯示內存開銷信息。
    ⑦PAGE FAULTS:顯示頁面錯誤開銷信息。
    ⑧SOURCE:顯示和Source_function,Source_file,Source_line相關的開銷信息。
    ⑨SWAPS:顯示交換次數(shù)開銷信息。

  • 6.日常開發(fā)需注意的結論。
    ①converting HEAP to MyISAM:查詢結果太大,內存不夠,數(shù)據(jù)往磁盤上搬了。
    ②Creating tmp table:創(chuàng)建臨時表。先拷貝數(shù)據(jù)到臨時表,用完后再刪除臨時表。
    ③Copying to tmp table on disk:把內存中臨時表復制到磁盤上,危險?。?!
    ④locked。
    如果在show profile診斷結果中出現(xiàn)了以上4條結果中的任何一條,則sql語句需要優(yōu)化。

2.總結

1.show profile默認是關閉的,并且開啟后只存活于當前會話,也就說每次使用前都需要開啟。
2.通過show profiles查看sql語句的耗時時間,然后通過show profile命令對耗時時間長的sql語句進行診斷。
3.注意show profile診斷結果中出現(xiàn)相關字段的含義,判斷是否需要優(yōu)化sql語句。
4.可更多的關注MySQL官方文檔,獲取更多的知識。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • show profile是mysql提供的可以用來分析當前會話中sql語句執(zhí)行的資源消耗情況的工具。 1.查看Sh...
    JuMinggniMuJ閱讀 336評論 0 0
  • 1. 是什么? 是MySQL提供的可以用來分析當前會話中語句執(zhí)行的資源消耗情況的工具,可以用于sql調優(yōu)的測量。默...
    貪挽懶月閱讀 1,236評論 0 2
  • 一、開啟show profile功能 查看當前的狀態(tài)是否啟用,看看當前的MySQL版本是否支持show varia...
    houxin閱讀 409評論 0 1
  • 一、Show Profile MySQL提供可以用來分析當前會話中語句執(zhí)行的資源消耗情況,用于SQL的調優(yōu)的測量 ...
    紫荊秋雪_文閱讀 385評論 0 0
  • 1、show profile 是什么? Show profile 是mysql 提供可以用來分析當前會話中語句執(zhí)行...
    乘風破浪丶文鑫閱讀 202評論 0 0

友情鏈接更多精彩內容