假设比较复杂的多个表关联查询。每个表都是多个表关联的,比如
SELECT xx FROM
(SELECT XX FROM A INNER JOIN B ON XX=XX) AS A
INNER JOIN
(SELECT XX FRROM C LEFT OUTER JION D ON XX=XX) AS B
ON XX=XX
……
这样的查询。
假如有个条件,是这些子表都必须满足的。把这个条件放在外面快,还是放在子表里面快?
放在外面就是如下的语句
SELECT XX FROM (select ……) AS A INNER JON (select ……) AS B ON XX=XX WHERE XX
放在里面就是
SELECT XX FROM (select ……WHERE XX) AS A INNER JON (select ……WHERE XX) AS B ON XX=XX
哪个快?我觉得应该是第二个。
------解决方案--------------------
条件应该放在子表里面,这样比较快..
------解决方案--------------------
经实际测试,速度没有差异.