mysql優化--葉金榮老師講座筆記

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的列又不一樣

wKiom1U49SfR1BUXAAPxCfN2-rk832.jpg

wKioL1U49oWSDkpVAAK54gern7M347.jpg

wKiom1U49Sfj3ShIAALM_OKHJJo070.jpg

wKioL1U49oaj61euAAIczDhsjbo032.jpg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章