?多表聯合查詢SQL語句優化


11.27
多表聯合查詢的優化方式,優化后的SQL及分析


優化方式:
    1.盡量不用'*'
    2.小表作驅動
    3.大表建索引


原本SQL語句:

select * from order left join user on user.id = order.user_id

  


簡單優化:

 

select order_id,order_price from order inner join user on user.id = order.user_id

  

  

  




解析
使用具體字段代替*, 節省運算時間.
left join 時系統做的邏輯運算量大於inner join
因為inner join 只需選出能匹配的記錄,其他不返回.

相對order來說,user可以看做小表.驅動表設為小表,在多表或拆表情況下查詢尤為提升效率.
如果order數據量較多, 且對寫入時間沒有嚴格要求, 則插入索引.
根據需求寫較為精確的where條件, 能節省計算資源.

 

 

### 優化方案不夠全面具體

# 其中優化的語句選擇也太過簡單

# SQL語句認識程度和熟練程度有待進一步提升


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM