Lost connection to MySQL server during query

    通過查看sql進程:

    mysql>    show processlist

    發現多條語句狀態爲Writing to net

    通過分析基本都是select 語句,都是查詢數據太數據庫返回網絡回寫慢,

    查看mysql>    show global variables like "max_allowed_packet"  只有32M,而我最大的表都100W級了;通過分析基本都是select 語句,都是查詢結果集太大返回網絡回寫慢,

    1.是通過explain執行計劃優化sql --》是否有索引,是否走索引

    2.是通過增加緩存

#max_allowed_packet 值設置過小將導致單個記錄超過限制後寫入數據庫失敗,且後續記錄寫入也將失敗,爲了數據完整性,需要考慮到事務因素。
mysql>set global max_allowed_packet = 512*1024*1024;

    3.調大net_read_timeout / net_write_timeout

    mysql服務器端等待從客戶端讀取數據 / 向客戶端寫入數據的最大時限,默認30秒。

 

 

 

 

 

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