这可能是一个愚蠢的问题,但它可能会阐明连接如何在内部工作。加速大桌子和小桌子之间的内连接
比方说,我有一个大表L
和一个小表S
(100K行与100行)。
会不会有以下两个选项之间在速度方面的任何差异?:
OPTION 1: OPTION 2:
--------- ---------
SELECT * SELECT *
FROM L INNER JOIN S FROM S INNER JOIN L
ON L.id = S.id; ON L.id = S.id;
注意,唯一的区别是将表的连接的顺序。
我意识到性能可能会因不同的SQL语言而异。如果是这样,MySQL如何与Access进行比较?
因此,鉴于两个表都有独特的索引,性能会根据具体情况而有所不同? – Zaid 2010-02-13 08:58:01
@Zaid:如果统计信息是最新的(并且如上所述重新编译查询),那么加入的顺序将不会影响;优化器将选择正确的方式。 – 2010-02-13 09:09:39
是的,也许我应该在OP中包含多个嵌套连接... – Zaid 2010-02-13 09:43:21