子查询和连接查询到底哪个效率高,这都没进行比较就优化。。。。好歹也要将两者的查询效率进行比较吧
是的,连接的效率更好一些,所以一般是建议把子查询改为连接查询
优化后的语句和执行计划
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
优化前子查询的执行计划
这个也要看情况吧,值得注意的是in查询里面的数量最大只能1000
链接查询效率高。个人愚见,子查询有点类似视图查询,简单的子查询可以都用链接查询替换,复杂的建议创建视图。