课程
/数据库
/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 回答关于连表查询性能优化