MySql-联接-两次联接同一表

时间:2019-03-02 12:32:41

标签: mysql sql join

当有大量记录时,我们如何才能更高效地实现这一目标?

SELECT M.t1, M.t2,A.x2,B.x2
FROM M
JOIN  P as A ON A.x1 = M.t1
JOIN P as B ON B.x1 = M.t2;

请注意,索引已应用于M.t1和M.t2。

1 个答案:

答案 0 :(得分:0)

如果您有“一吨”记录,则您的查询可能返回“一吨”(甚至更多)记录。您所能做的就是添加索引。

对于此查询,我建议在P(x1, x2)上建立索引。您可能还会发现M(t1)上的索引有效-仅仅是因为不需要读取原始数据页,只需读取索引即可。