mysql查詢優化總結

使用慢查詢日誌去發現慢查詢,
使用執行計劃去判斷查詢是否正常運行,總是去測試你的查詢看看是否他們運行在最佳狀態下。久而久之性能總會變化,避免在整個表上使用count(*),它可能鎖住整張表,使查詢保持一致以便後續相似的查詢可以使用查詢緩存
,在適當的情形下使用GROUP BY而不是DISTINCT,,保持索引簡單,不在多個索引中包含同一個列,有時候MySQL會使用錯誤的索引,對於這種情況使用USE INDEX,檢查使用SQL_MODE=STRICT的問題,對於記錄數小於5的索引字段,在UNION的時候使用LIMIT不是是用OR。
爲了 避免在更新前SELECT,使用INSERT ON DUPLICATE KEY或者INSERT IGNORE ,不要用UPDATE去實現,不要使用 MAX,使用索引字段和ORDER BY子句,LIMIT M,N實際上可以減緩查詢在某些情況下,有節制地使用,在WHERE子句中使用UNION代替子查詢,考慮持久連接,而不是多個連接,以減少開銷,基準查詢,包括使用服務器上的負載,有時一個簡單的查詢可以影響其他查詢,當負載增加您的服務器上,使用SHOW PROCESSLIST查看慢的和有問題的查詢,
在開發環境中產生的鏡像數據中 測試的所有可疑的查詢。

EXPLAIN SELECT 查詢用來跟蹤查看效果
使用 EXPLAIN 關鍵字可以讓你知道MySQL是如何處理你的SQL語句的。這可以幫你分析你的查詢語句或是表結構的性能瓶頸。EXPLAIN 的查詢結果還會告訴你你的索引主鍵被如何利用的,你的數據表是如何被搜索和排序的……等等

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