假设我有以下查询。如果连接 t1 和 t2 时没有匹配项,MySQL 是否会忽略所有其他连接?
我问的原因是,如果不是,那么我将分解查询并使用 PHP 将其拼凑起来。如果没有性能影响,那么我将按照这样的顺序放置我的 JOIN,一旦之前的 JOIN 不成功,就不会继续。谢谢
SELECT whatever
FROM t1
INNER JOIN t2 ON t2.t1id=t1.id
INNER JOIN t3 ON t3.t2id=t2.id
INNER JOIN t4 ON t4.t3id=t3.id
INNER JOIN t5 ON t5.t4id=t4.id
INNER JOIN t6 ON t6.t5id=t5.id
INNER JOIN t7 ON t7.t6id=t6.id
INNER JOIN t8 ON t8.t7id=t7.id
INNER JOIN t9 ON t9.t8id=t8.id
WHERE t1.c=123 AND t4.c=321 AND t6.c=222 AND t9.c=222