MySQL:通过一系列关系连接表 - 减少重复的表读取

时间:2011-12-07 13:23:57

标签: mysql join

我正在阅读一篇关于加入MySQL的文章,但我不明白为什么通过一系列关系连接表有减少重复表读取的优势。 有人可以用例子来解释吗?感谢。

以下引用文字:

  

从视觉上说,这两种连接表的方式如下:   关系系列:表1 - > 2 - > 3   共同关系:表1 - > 2,(1) - > 3   无论哪种方式,MySQL读取表1,然后是2,然后是3 - 它的“单扫描”   多连接方法。“共同关系连接中的”(1)“表示   当读取表3时,使用它与表的关系找到其中的行   1,不是表2中的系列关系连接。加入表格   通过一系列关系具有减少重复的优点   table读取第一个表是否是最严格的,第二个表   表限制较少,第三表甚至限制较少等等。

来自hackmysql.com/case5的文本

1 个答案:

答案 0 :(得分:0)

我认为它只是引用了以下两个(不切实际的)例子,尽管我可能错了。

请注意每个表格3的连接方式。

表1 - > 2 - > 3

    SELECT t1.name, t2.phoneNo, t3.address
    FROM table1 t1
    JOIN table2 t2
         ON t2.id = t1.id
    JOIN table3 t3
         ON t3.id = t2.id
    WHERE t1.id = 123

表1 - > 2,(1) - > 3

    SELECT t1.name, t2.phoneNo, t3.address
    FROM table1 t1
    JOIN table2 t2
         ON t2.id = t1.id
    JOIN table3 t3
         ON t3.id = t1.id
    WHERE t1.id = 123

此致 克里斯