1. 程式人生 > >MySQL優化(四) 慢查詢的定位及優化

MySQL優化(四) 慢查詢的定位及優化

啟動 strong ptime pan bsp 回話 query plain ont

一、SQL語句優化的一般步驟:

(1)通過 show status 命令了解各種 SQL 的執行效率;

(2)定位執行效率較低的 SQL 語句(重點是 Select);

(3)通過 explain 分析低效率的 SQL 語句的執行情況;

(4)確實問題並采取相應的優化措施;

二、

1、show status 命令

 格式: show [session | global] status like ...

如果不寫[session | global],默認的是session,即取出當前回話的執行情況;

 如果想查詢所有的(即MySql啟動到現在的信息), 則增加 global 參數;

show status like "uptime"  //查詢MySql啟動的時間;
show status like "com_select" //查詢MySql的查詢次數
show status like "com_insert" //查詢MySql的插入次數
show status like "com_update" //查詢MySql的更新次數
show status like "com_delete" //查詢MySql的刪除次數 
show global status like "uptime"  //查詢MySql啟動的時間;
show global status like "com_select" //查詢MySql的查詢次數
show global status like "com_insert" //查詢MySql的插入次數
show global status like "com_update" //查詢MySql的更新次數
show global status like "com_delete" //查詢MySql的刪除次數 
show global status like "connections" //查詢MySQL的連接數

show global status like "slow_queries" //獲取慢查詢的次數

2、如何定位慢查詢?

默認情況下,MySql認為超過 10 秒才是一個慢查詢;

顯示當前慢查詢設置的時間:show variables like "long_query_time"

修改慢查詢的設置時間為1秒:set long_query_time=1

MySQL優化(四) 慢查詢的定位及優化