sql優化

 

查詢語句的執行過程

  • 通過網絡的通訊協議接收客戶端傳入的SQL
  • 查看該SQL對應的結果在查詢緩存中是否存在
  • 存在則直接返回結果
  • 不存在則繼續往下走
  • 由解析器來解析當前SQL,最終形成初步的解析樹
  • 再由預處理器對解析樹進行調整,完成佔位符賦值等操作
  • 查詢優化器對最終的解析樹進行優化,包括調整SQL順序等
  • 根據優化後的結果得出查詢語句的執行計劃,就是查詢數據的具體實施方案,交給查詢的執行引擎
  • 查詢執行引擎調用存儲引擎提供的API,最後由存儲引擎來完成數據的查詢,然後返回結果

 

sql 查詢語句優化(主要是優化索引)

  1. 儘量不是使用select * 查詢語句,用哪個字段查哪個字段
  2. 應儘量避免在 where 子句中使用 or 來連接條件,否則將導致引擎放棄使用索
    引而進行全表掃描,如:
    select id from t where num=10 or num=20

    可以這樣查詢:
    select id from t where num=10
    union all
    select id from t where num=20

     
發佈了30 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章