原则上说,哪一个更快:
SELECT FROM t1 INNER JOIN t2 INNER JOIN t3 ON t1.c = t2.c = t3.c
VS
SELECT FROM t1 INNER JOIN t2 USING (c) INNER JOIN t3 USING (c)
答案 0 :(得分:2)
最简单的方法是看看你的explain plan。如果你看两者,你可能会看到零差异。
这里的using()
关键字只是一个简写表达式。它的评估与您的其他选项相同,因此对性能没有影响。
答案 1 :(得分:0)
任何SQL语句的FROM部分在SQL语句的任何其他部分之前首先被逻辑处理,并且两个语句都在FROM部分中加入(只是不要将连接条件添加到WHERE子句)。假设两者都具有正确的语法,那么更大的问题是这些是否来自M:1,M:1上下文以及主键和外键上是否都有索引。然后通过查询分析器运行它们以测量实际性能。