想要優化一條sql語句以前,咱們須要先知道這條sql語句的瓶頸在哪profile是一個使用很是方便的查詢診斷分析工具,經過該工具能夠獲取一條查詢在整個執行過程當中多種資源的消耗狀況,例如內存消耗、I/O消耗和CPU消耗等。mysql
其中type參數的可選項含義以下:
all:顯示全部的信息
block io:限時輸入輸出操做阻塞的數量
context switches:顯示自動或非自動context switches的數量
cpu:顯示系統和用戶cpu使用的時間
ipc:顯示信息發送和接受的數量
memory:內存的信息
page faults:顯示主要的page faults數量
source:顯示函數的名稱,而且系那是函數所在文件的名字和行數
swaps:顯示swap數量sql
開啓profile
set profiling = 1;函數
查看信息
在開啓了query profiler功能以後,mysql就會自動記錄全部執行的query的profile信息。下面執行query
經過執行 show profile 命令獲取當前系統中保存的多個query的profile的概要信息。
工具