MySQL性能 - JOIN ON VS JOIN上使用多个表
问题描述:
原则,其中之一是更快地讲:MySQL性能 - JOIN ON VS JOIN上使用多个表
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)
答
任何SQL语句的FROM部分在SQL语句的任何其他部分之前被逻辑处理,并且两个语句都在FROM部分中加入(不要将连接条件添加到WHERE子句中)。假设两者都具有正确的语法,那么更大的问题是它们是否从M:1,M:1上下文流入,以及主键和外键是否有索引。然后通过查询分析器运行它们以测量实际性能。
请阅读此http://meta.*.com/a/271056/。请特别注意查询性能部分。然后,请[编辑]你的问题。如果你不这样做,你可以问问*旅程有多长时间?* –
可能的表现是相同的(不确定100%),但是请注意'USING'和'ON'有时会给出一些不同的结果:https://*.com/questions/45605943/mysql-unable-to-get-all-columns-with-select/45606545#45606545 –
我一直以为第一个会是一个错误(缺少或使用第一次加入的子句) – ysth