原因是联查时是先执行left join然后再执行where语句,这样生成的临时表数据会很大
但我测试下来发现并不是预想的那样...
SELECT os.id,app.id,oi.id,oo.id FROM osx as os
LEFT JOIN appx as app ON app.id = os.app_id
LEFT JOIN oix as oi ON oi.order_sn=os.order_sn
LEFT JOIN oox as oo ON oo.order_sn=os.order_sn
WHERE os.od_id BETWEEN 100 AND 110
如上查10条数据,执行时间0.01秒
其中osx/oix/oox的数据量均在100w条以上,如果按照先left join的套路,怎么也得是按秒来的吧?
是我哪里理解错了吗?