copy to tmp table
執行ALTER TABLE修改表結構時
建議:凌晨執行
Copying to tmp table
拷貝數據到內存中的臨時表,常見於GROUP BY操作時
建議:創建索引
Copying to tmp table on disk
臨時結果集太大,內存中放不下,需要將內存中的臨時表拷貝到磁盤上,形成 #sql***.MYD、#sql***.MYI
建議:創建索引,加大sort_buffer_size/tmp_table_size/max_heap_table_size
Creating sort index
當前的SELECT中需要用到臨時表在進行ORDER BY排序
建議:創建索引
Creating tmp table
創建基於內存或磁盤的臨時表,當從內存轉成磁盤的臨時表時,狀態會變成:Copying to tmp table on disk
建議:創建索引
Sending data
從server端發送數據到客戶端,也有可能是接收存儲引擎層返回的數據,再發送給客戶端,數據量很大時尤其經常能看見
建議:通過索引或LIMIT,減少需要掃描的數據量
Sending Data不是網絡發送,是從硬盤讀取
發送到網絡是Writing to net
Using temporary
需要用臨時表存儲結果集,通常是因爲group by的列上沒有索引。也有可能是因爲同時有group by和order by,但group by和order by的列又不一樣