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

copy to tmp tablesql

執行ALTER TABLE修改表結構時網絡

建議:凌晨執行ide


Copying to tmp tableserver

拷貝數據到內存中的臨時表,常見於GROUP BY操做時blog

建議:建立索引排序


Copying to tmp table on disk索引

臨時結果集太大,內存中放不下,須要將內存中的臨時表拷貝到磁盤上,造成 #sql***.MYD、#sql***.MYI圖片

建議:建立索引,加大sort_buffer_size/tmp_table_size/max_heap_table_size內存


Creating sort indexget

當前的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

相關文章
相關標籤/搜索