SELECT * FROM news,news_cate WHERE news.cate_id=news_cate.cate_id不就跟SELECT * FROM news LEFT JOIN news_cate ON news.cate_id=news_cate.cate_id的结果一样么?哪个更有效率?什么时候用LEFT JOIN? 谢谢上面的各位大哥!
mysql里left join慢的要死 少用为好
你的问题是 内部连接跟左联的效率问题,即 ,(inner join)跟 left join的问题。 内部连接是用“笛卡尔”乘积的方式遍历两个表,从中选出符合where 条件的记录来。 而左联是以左边的表为基准,然后根据on的条件选取右表中的记录。所以,当然是这种速度更快。
一样快的吧。貌似left join一样会联接整表后才判断where条件。
TO lvlfforever(那一年) 不要想当然。left join就是比inner join慢。
where a.id=b.pid 等同于 inner join 两个概念是不同的,有些时候获取到的数据是不一样我推荐使用left join或inner join这种写法,结构比较清晰
谢谢上面的各位大哥!
内部连接是用“笛卡尔”乘积的方式遍历两个表,从中选出符合where 条件的记录来。
而左联是以左边的表为基准,然后根据on的条件选取右表中的记录。所以,当然是这种速度更快。
两个概念是不同的,有些时候获取到的数据是不一样我推荐使用left join或inner join这种写法,结构比较清晰
用mysql。一直没弄明白怎么会这样。