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語句認識程度和熟練程度有待進一步提升