一、查看執行時間步驟:
1.如果已經執行了SQL語句,那么可以輸入show profiles查看; //profiles 是執行sql語句的記錄表,里面有duration(持續時間)代表執行時間
2.如何看不到:則show variables; 查看profiling變量是否為on(也就是開啟)狀態;查看是否打開了profiles功能,默認是關閉的
3.如果是off, 則執行命令 set profiling=1;
4.執行SQL語句;
5.show profiles -- 就可以查詢到sql語句的執行時間。
二、語句執行過程中有沒有用到表的索引,可以通過explain一個語句的輸出結果來看KEY的值不是NULL:
我們看下
explain select * from t;
的KEY結果是NULL
(圖一)
explain select * from PLANPERIOD where tag = 0
的KEY結果是PRIMARY,就是我們常說的使用了主鍵索引

所以我們可以得出一個結論:是否使用索引和是否進入慢查詢之間並沒有必然的聯系。使用索引只是表示了一個SQL語句的執行過程,而是否進入到慢查詢是由它的執行時間決定的,而這個執行時間,可能會受各種外部因素的影響。換句話來說,使用了索引你的語句可能依然會很慢。