问答详情
源自:-

2.8子查询转换为连接查询的疑惑

有个不明白的地方,2.8关于子查询优化的,老师举得例子是把子查询换成连接查询


select distinct(id) from t1 where id = (select id from t2 where id = 1);
select distinct(t1.id) from t1 left join t2 on t1.id = t2.id;


但是使用 explain分析的结果:

55f825e300013f9b05000314.jpg

55f825e30001168505000311.jpg

使用连接查询却出现了 使用临时表 的情况... 这种情况下,还是使用连接查询么? 不太懂

提问者:卡卡小狮子 2015-09-15 22:08

个回答

  • sqlercn
    2016-01-08 13:51:52

    在两个表的关联键上加上索引再试试看