【发布时间】:2011-07-17 08:55:00
【问题描述】:
可能的重复:
MySQL: Inner join vs Where
Explicit vs implicit SQL joins
当我们使用“JOIN ON”和“WHERE”子句运行连接查询时,性能方面有什么不同吗? (不分表数或表中条目数)
不确定这个话题是否已经讨论过了。即使是这样,我想知道最新版本的 mySQL(5.1 及更高版本)是否发生了变化。
解释语句清楚地表明考虑的行数存在很大差异。
我使用的语法是:
使用 JOIN ON
SELECT <field names>
FROM <table1>
JOIN <table2> ON <join_condition>
AND JOIN <table3> ON <join_condition>
AND JOIN <table4> ON <join_condition>
....
使用 WHERE
SELECT <field names>
FROM <table names list separated by comma>
WHERE <join_condition>
AND <join_condition>
AND <join_condition>
....
所以不确定使用 JOIN ON 或 WHERE 子句是否会有所不同。请协助。
【问题讨论】:
-
嗯...毕竟它可能不是重复的,因为 Vasanthakumar 建议解释计划不同。你能提供这些计划吗?
-
不知道 MySQL 但在 Oracle 中这些是完全等价的。
-
那些“可能的重复”与这个问题不一样,人。
标签: mysql performance join