mysql查詢優化

優化的方向

查詢爲什麼會慢?除去網絡延遲,CPU計算等因素,時間主要消耗在查詢執行階段,比如說I/O阻塞,鎖等待導致執行事件較長。而事實上,查詢速度慢,一般都是查詢命令包含了一些不必要的操作,不必要的數據,或者數據量太大、查詢範圍太廣。主要減少和消除以上問題。

1.減少select *的操作,在查詢時常用limit限制返回的數據量。

2.經常重複查詢的數據,存入緩存或者建立哈希索引/或者mysql建立自適應哈希。

3.複雜查詢語句,使用多條簡單查詢(並不是所有的多條查詢都比複雜查詢效果好)。

mysql的斷開和連接都死輕量級的,因此單條查詢速度很快,在一些情況下使用多條查詢替代複雜查詢效果會更好。事實上mysql服務器查詢速度非常快,而返回給客戶端數據時速度很慢,因此單條查詢小數據能加快查詢速度。

4.關聯查詢拆解成多條查詢

因爲每次單條查詢的數據放在緩存中,被之後的查詢直接使用,提高查詢速度。
因爲單條查詢減少數據上鎖的範圍,減少鎖競爭,提高查詢速度。

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