【发布时间】:2016-10-13 07:35:24
【问题描述】:
哪个查询更快 - (或无关紧要)?
SELECT *
FROM students as s
INNER JOIN hallprefs as hp
ON s.studentid = hp.studentid
INNER JOIN halls as h
ON hp.hallid = h.hallid
或
SELECT *
FROM students as s
INNER JOIN hallprefs as hp
INNER JOIN halls as h
ON hp.hallid = h.hallid
AND s.studentid = hp.studentid
当然,最初的问题是更多的表格。
【问题讨论】:
-
当你同时运行两个时,你的测试中哪个更快?
-
你有查询,你有数据:Race your horses
-
没关系,优化器应该选择最快的连接顺序。
-
我上面的评论说明了一切。没关系!
-
第一个具有有效的 ANSI SQL 语法,这意味着它是可移植的,即良好的编程习惯。第二个只是 MySQL,不好的做法。
标签: mysql sql inner-join multiple-columns