我想知道像这样进行连接查询是否更好:
SELECT * FROM table1
LEFT JOIN table2 ON table1.field1=table2.id
AND table2.field2="mystring"
WHERE table2.field2="mystring"
而不是简单地这样做:
SELECT * FROM table1
LEFT JOIN table2 ON table1.field1=table2.id
WHERE table2.field2="mystring"
MySQL 引擎是在为我做这个优化还是明确地做这个更好?
做 :
SELECT * FROM table1
JOIN table2 ON table2.field2="mystring" AND table2.id=table1.field1
有同样的效果,结果会一样吗?
编辑:更精确一些,我的问题是:
我假设上述 3 个查询在给定结果方面是等效的。他们真的(尤其是第三个)吗?
我想知道引擎是否在性能方面平等对待它们(换句话说,我是否必须担心使用哪一个)?