課程
/數據庫
/MySQL
/性能優化之MySQL優化
子查詢和連接查詢到底哪個效率高,這都沒進行比較就優化。。。。好歹也要將兩者的查詢效率進行比較吧
2015-08-04
源自:性能優化之MySQL優化 2-8
正在回答
是的,連接的效率更好一些,所以一般是建議把子查詢改為連接查詢
優化后的語句和執行計劃
SELECT title,release_year,length
FROM film
JOIN (SELECT film_id FROM film_actor JOIN actor?ON(
film_actor.actor_id?=?actor.actor_id??AND actor.first_name='sandra')) AS t
On t.film_id?=film.film_id
優化前子查詢的執行計劃
chaosbead
這個也要看情況吧,值得注意的是in查詢里面的數量最大只能1000
鏈接查詢效率高。個人愚見,子查詢有點類似視圖查詢,簡單的子查詢可以都用鏈接查詢替換,復雜的建議創建視圖。
舉報
了解MySQL數據庫優化的方法和技巧,在課程中共同探討一起學習吧
1 回答為啥子查詢的效率沒有鏈接查詢的效率高?
1 回答用in查詢效率高嗎
2 回答2.8子查詢轉換為連接查詢的疑惑
1 回答join查詢方式為什么比子查詢的方式速度更快?
1 回答關于連表查詢性能優化
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-08-14
是的,連接的效率更好一些,所以一般是建議把子查詢改為連接查詢
2015-12-01
優化后的語句和執行計劃
SELECT title,release_year,length
FROM film
JOIN (SELECT film_id FROM film_actor JOIN actor?ON(
film_actor.actor_id?=?actor.actor_id??AND actor.first_name='sandra')) AS t
On t.film_id?=film.film_id
優化前子查詢的執行計劃
2015-09-15
這個也要看情況吧,值得注意的是in查詢里面的數量最大只能1000
2015-08-11
鏈接查詢效率高。個人愚見,子查詢有點類似視圖查詢,簡單的子查詢可以都用鏈接查詢替換,復雜的建議創建視圖。