這可能是一個愚蠢的問題,但它可能會闡明連接如何在內部工作。加速大桌子和小桌子之間的內連接
比方說,我有一個大表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